抽象类的知识

 1.抽象类的意义是?或者说为什么要有抽象类?

抽象类是对多个类中共同方法的抽取,但是子类又有不同的实现,父类只能抽取出方法的名字,而不明确方法的具体实现.

这种只规定子类拥有哪些方法,而不明确具体实现的父类,就应该定义为抽象类.

抽象类只用来规范子类应该具有哪些行为,而不明确具体的动作.

2.抽象类的特点是?

抽象类和普通类的最主要区别在于:

1.抽象类继承的()中写的是metaclass=ABCMeta

2.在类体中有用@abstractmethod修饰的方法(需要子类重写的方法)

3.抽象类中是否可以有非抽象方法?

可以.

4.抽象类中的抽象方法是否可以有方法体?

可以.

5.抽象类中是否可以有__init__方法?为什么?

可以,因为抽象类中也可以有实例属性供子类继承.

而实例属性必须在父类中初始化,子类对象才能继承.

抽象类的__init__方法不能手动调用,只能是子类创建对象时自动调用的.

原文地址:https://www.cnblogs.com/Zhao159461/p/10618466.html