黑马程序员技术交流社区
标题:
抽象类与接口的区别
[打印本页]
作者:
woshihuoye
时间:
2016-6-10 23:43
标题:
抽象类与接口的区别
什么是is a,
什么又是 like a,
这两有什么区别的{:2_30:}
作者:
why910107
时间:
2016-6-10 23:49
本帖最后由 why910107 于 2016-6-10 23:50 编辑
成员的区别:
抽象类:
成员变量:可以变量,也可以常量
构造方法:有
成员方法:可以抽象,也可以非抽象
接口:
成员变量:只可以常量 构造方法: 无
成员方法:只可以抽象
关系的区别:
类与类
继承,单继承
类与接口
实现,单实现,多实现
接口与接口
继承,单继承,多继承
设计理念的区别:
抽象类 被继承体现的是:”is a”的关系。抽象类中定义的是该继承体系的共性功能。
接口 被实现体现的是:”like a”的关系。接口中定义的是该继承体系的扩展功能。
对事物本质的抽象用抽象类,对事物功能的扩展用接口
作者:
syinys7
时间:
2016-6-10 23:53
"is a" 中文翻译是"什么是一个什么",强调的是继承,只能单继承或是多层继承;"like a "中文翻译是"什么像什么"强调的是体系的扩展功能属于接口,单一实现或者多实现
作者:
syinys7
时间:
2016-6-10 23:57
is a是工厂设计模式,而Like a提供拓展功能.
A:成员区别
* 抽象类:
* 成员变量:可以变量,也可以常量
* 构造方法:有
* 成员方法:可以抽象,也可以非抽象
* 接口:
* 成员变量:只可以常量
* 成员方法:只可以抽象
* B:关系区别
* 类与类
* 继承,单继承
* 类与接口
* 实现,单实现,多实现
* 接口与接口
* 继承,单继承,多继承
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2