它时一个去除对象中不重要的细节的过程,只有那些描述了对象的本质特征的关键点才被保留。例如:苹果、香蕉,普通,桃子等。它们的共同特征就是水果。得出水果概念的过程,就是一个抽象的过程。
抽象类和方法的目的就是把多个类的共有属性拿出来,单独作为一个类来让其他类去继承。
抽象类在什么情况下比较适用
需要运用多态,并且某些方法在子类中必须重定义时。下面看下各个语言的写法:
c++的写法java的写法Animal .java
Cat .java
Dog .java
Main .java
python的写法对比总结:
抽象类不能被实例化,只能被继承,然后继承类实例化;
c++通过定义virtual修饰的函数来实现抽象类;
java通过abstract来实现抽象类和方法,如果类中至少存在一个抽象函数,则该类必须声明为抽象类,即函数和类前都必须用abstract修饰;
python需要借助abc模块来实现抽象类;