Java入门到架构师教程之面向对象-继承性

113 阅读2分钟

1、什么是继承?

“树上一只鸟树下两只兔子,请问几种动物 , 请问几种生物?” 这里面就存在了继承的概念。

继承:子承父业

继承的本质在于抽象。类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。

继承的作用 : 使用继承可以提高代码的复用性。

通过继承,子类可以使用父类中的一些成员变量和方法,从而提高代码的重用性,提高开发效率。

2、如何使用继承

父类|超类|基类:根据一些列子类抽象,抽取像的部分,定义在父类中。

子类|派生类:子类继承父类,有权使用父类中的内容,可以定义子类新增内容,所以说子类是父类的延续+扩展

extends 关键字的意思是“扩展”。子类是父类的扩展。

java 中使用 extends 关键字实现类的继承机制,语法规则:

<modifier> class <name> [extends <superclass>]{} 
//父类
class Person{
    public String name;
    public int age;
    
    public void sleep(){
        System.out.println("休息");
    }
}
//子类
//教师类
class Teacher extends Person{
    public String subject;
    
    public Teacher() {
    }
    
    public void teach(){
        System.out.println("传授知识");
    }
    
}
​
//学生类
class Student extends Person{
    public String school;
    
    public Student() {
    }
    
    public void study(){
        System.out.println("在知识的海洋畅游!");
    }
}

注意:

  • 子类继承父类的成员变量和成员方法,但不继承父类的构造方法
  • java中只有单继承 ,没有像c++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。就像我们现实中,如果你有多个父母亲,那是一个多么混乱的世界啊。多继承,就是为了实现代码的复用性,却引入了复杂性,使得系统类之间的关系混乱。
  • java中的多继承,可以通过接口来实现
  • 如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object。

本文是java入门到架构师全套全新课程的配套课件,如需视频教程资料请评论或者私信。

3、继承的优缺点

优点:

  • 通过继承可以简化类的定义,实现代码的重用|提高代码复用性
  • 可以更好的扩展程序
  • 子类一旦继承父类,可以有权使用父类中的成员,也可以扩展定义子类独有内容
  • java是单继承继承,实现简单

缺点:

  • 子类与父类之间紧密耦合(耦合度高),子类依赖于父类的实现,子类缺乏独立性。
  • 不便于后期维护
  • 单继承一个子类只能有一个父类,不够灵活,不便于后期维护