面向对象

    xiaoxiao2023-11-23  177

    继承

    继承的格式;

    通过extends关键字可以实现类与类的继承 class 子类类名 extends 父类类名 {} 被继承的这个类称为父类,基类或者超类 继承的这个类称为子类或者派生类

    继承的特点: 1.通过extends关键字实现,类与类之间建立了联系 违背了高内聚,低耦合的原则 2.继承的本质就是对多个类的共性的代码的抽取 3.类是对多个对象的抽象,继承是对某一批类的抽象。 4.继承是一把双刃剑,慎用

    继承的特点: 1.通过extends关键字实现,类与类之间建立了联系 违背了高内聚,低耦合的原则 2.继承的本质就是对多个类的共性的代码的抽取 3.类是对多个对象的抽象,继承是对某一批类的抽象。 4.继承是一把双刃剑,慎用

    设计原则; 高内聚,低耦合 对扩展开放,多修改关闭 面向对象思想

    如何使用继承? 1.一般都是在写完代码之后,观察发现你的代码出现了重复,这个时候抽取重复代码到父类中即可 2.当设计某个类非常复杂的时候,可以使用继承 继承的注意事项: 1.单一继承性 2.支持多层继承 3.如果父类使用priavate修饰成员,子类不能够继承 4.如果一个子类继承了父类的所有方法,还可以有自己的方法 5.当子类属性和父类属性重名的时候,子类会覆盖父类继承的同名属性 6.子类不会继承父类的构造方法 使用继承的步骤; 1.先书写所有的子类 2.观察多个子类是否存在共性代码 3.将共性代码抽取到父类中 4.子类继承父类,将共性代码删除 5.验证是否满足 A is a B关系 A is a B 继承 A has a B 组合 : A类有B类的控制权 在这里插入代码片

    package com.extendsdemo;

    import javax.swing.JFrame;

    public class ExtendsDemo01 { public static void main(String[] args) { PrimaryStudent ps = new PrimaryStudent();

    XyrFrame frame = new XyrFrame(); frame.setSize(100, 200); frame.setLocationRelativeTo(null); frame.setTitle("植物大战僵尸"); frame.setVisible(true); ps.playMobile(); }

    }

    class Dog {

    }

    class Teacher { Dog dog; }

    class XyrFrame extends JFrame { }

    class Person extends Object {

    }

    class Student extends Person { public Student() {}

    String name = "World"; int age; private double money; double height; public void payMoney(double money) { this.money = money; }

    }

    class PrimaryStudent extends Student { public PrimaryStudent() {} String name = “Hello”; public void playMobile () { System.out.println(“MiddleStudent.playMobile()” + name); } }

    class MiddleStudent extends Student { public void playGame() { System.out.println(“MiddleStudent.playGame()”); } }

    class BigStudent extends Student{ public void sleep() { System.out.println(“BigStudent.sleep()”); } }

    最新回复(0)