抽象类和接口区别

时间:2022-11-13 17:55:27

1 、本质不同: 抽象类是类而接口不是类。

2 、 定义的维度不同:抽象类是对类抽象,而接口是对行为的抽象。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口却是对类局部(行为)进行抽象。

例如猫、狗可以抽象成一个动物类抽象类,具备叫的方法。鸟、飞机可以实现飞Fly接口,具备飞的行为,这里我们总不能将鸟、飞机共用一个父类吧。

3、 设计方式不同:抽象类,我们要先知道子类才能抽象出父类。而接口则不同,它根本就不需要知道子类的存在,只需要定义一个规则即可,