视频字幕
继承是面向对象编程的核心概念之一。它允许一个类获取另一个类的属性和方法,实现代码复用,减少冗余,并建立类之间的is-a关系。在Java中,我们使用extends关键字来实现继承。以权限系统为例,我们可以创建一个通用的Permission父类,然后让ReadPermission和WritePermission子类继承它。
让我们看看Java中如何定义父类。在Permission类中,我们定义了两个受保护的属性:name表示权限名称,active表示权限是否激活。构造方法用于初始化这些属性,check方法提供基本的权限检查功能。使用protected修饰符可以让子类直接访问这些属性。
子类ReadPermission使用extends关键字继承Permission类。它添加了新的属性resource来存储资源名称。在构造方法中,使用super关键字调用父类的构造方法来初始化继承的属性。使用Override注解重写父类的check方法,在保留父类功能的基础上添加新的功能。同时还可以定义子类特有的方法,如readData方法。
总结一下继承的核心要点:继承实现了代码复用,子类自动获得父类的属性和方法。通过extends关键字建立继承关系,使用super关键字访问父类成员。子类可以重写父类方法,同时添加新的属性和方法。继承体现了is-a关系,是面向对象设计的重要原则。
让我们看看Java中如何定义父类。在Permission类中,我们定义了两个受保护的属性:name表示权限名称,active表示权限是否激活。构造方法用于初始化这些属性,check方法提供基本的权限检查功能。使用protected修饰符可以让子类直接访问这些属性。
子类ReadPermission使用extends关键字继承Permission类。它添加了新的属性resource来存储资源名称。在构造方法中,使用super关键字调用父类的构造方法来初始化继承的属性。使用Override注解重写父类的check方法,在保留父类功能的基础上添加新的功能。同时还可以定义子类特有的方法,如readData方法。
这个完整的示例展示了继承的实际应用。我们可以创建父类对象调用基本方法,创建子类对象调用继承的方法、重写的方法以及子类特有的方法。更重要的是,继承支持多态性:父类引用可以指向子类对象,运行时会动态绑定并调用子类重写的方法,这是面向对象编程的强大特性。
总结一下继承的核心要点:继承实现了代码复用,子类自动获得父类的属性和方法。通过extends关键字建立继承关系,使用super关键字访问父类成员。子类可以重写父类方法,同时添加新的属性和方法。继承体现了is-a关系,是面向对象设计的重要原则。