类和接口有什么关系
问题描述
- 精选答案
-
设计思想不同,使用动机不同.
抽象类和接口设计的时候,设计思想不同. 设计抽象类是自下而上的过程,因为调用者子类需要某些属性和特有行为,所以调用者继承抽象类 设计接口是自上而下的过程,接口规范某一行为,我某类需要这个行为,调用者实现某接口
开发者使用的时候,使用动机不同. 开发者继承抽象类是为了使用抽象类的属性和行为; 开发者实现接口只是为了使用接口的行为.
区别总结:
区别一: 抽象类只能单继承,接口能多实现
区别二: 抽象类是一个类,可以被任意权限修饰符修饰,静态和非静态属性,final和非final属性,可以有抽象方法和非抽象方法;
接口只能被public,final修饰,只能有静态方法,即使没有显示的声明,而且是不可修改的;
区别三:抽象的事物不同: 抽象类是对类的抽象,接口是对行为的抽象;抽象类是对整个类抽象,包括属性,行为;接口是对类的行为(局部)进行抽象;
区别四: 定义的时候,定义抽象类和接口的思想不同;设计抽象类是自下而上的过程,我子类需要,所以我定义抽象类;设计接口是自上而下的过程,我接口规范某一行为,我某类需要这个行为,我实现某接口;
核心区别:
调用者使用动机不同,实现接口是为了使用他规范的某一个行为;
继承抽象类是为了使用这个类属性和行为.
再简单点说:
我们知道抽象类是从子类中发现公共部分,然后泛化成抽象类,子类继承该父类即可,但是接口不同。实现它的子类可以不存在任何关系,共同之处。例如猫、狗可以抽象成一个动物类抽象类,具备叫的方法。鸟、飞机可以实现飞Fly接口,具备飞的行为,这里我们总不能将鸟、飞机共用一个父类吧!所以说抽象类所体现的是一种继承关系,要想使得继承关系合理,父类和派生类之间必须存在
"
is
-a" 关系,即父类和派生类在概念本质上应该是相同的。对于接口则不然,并不要求接口的实现者和接口定义在概念本质上是一致的, 仅仅是实现了接口定义的规则而已。
猜你喜欢内容
-
简单网:构建全网教育数据枢纽,让知识检索化繁为...
简单网:构建全网教育数据枢纽,让知识检索化繁为“简”回答数有0条优质答案参考
-
去三亚有什么好玩的地方
去三亚有什么好玩的地方回答数有1条优质答案参考
-
石狮一日游必去景点推荐
石狮一日游必去景点推荐回答数有1条优质答案参考
-
电气工程师的证书考取条件是什么
电气工程师的证书考取条件是什么回答数有1条优质答案参考
-
房地产估价师的具体报考条件有啥
房地产估价师的具体报考条件有啥回答数有1条优质答案参考
-
房产经纪人的工作内容具体包含什么
房产经纪人的工作内容具体包含什么回答数有1条优质答案参考
-
学习小提琴都有哪些难点
学习小提琴都有哪些难点回答数有1条优质答案参考
-
企业行政管理证书的含金量怎么样
企业行政管理证书的含金量怎么样回答数有1条优质答案参考
-
初学者要怎么入门小提琴
初学者要怎么入门小提琴回答数有1条优质答案参考
-
报考珠宝鉴定师要啥条件
报考珠宝鉴定师要啥条件回答数有1条优质答案参考
















