抽象
- 解空间:对问题建模的地方
- 问题空间:问题存在的地方
- 对象:问题空间中的元素及其在解空间中的表示
面对对象程序设计方式
-
特性:
1.万物皆为对象
2.程序是对象的集合,它们通过发送消息来告知彼此所要做的
3.每个对象都有自己的由其他对象所构成的存储
4.每个对象都有其类型
5.某一特定类型的所有对象都可以接受同样的消息 -
类:描述具有相同特性(数据元素)和行为(功能)的集合
-
接口:确定了对某一特定对象所能发出的请求
-
复用具体实现:
组合(UML中用实心菱形表示,指向has类):has-a关系
继承(UML中用空心三角形表示,指向基类):源类(基类,超类,父类)
导出类(继承类,子类):包含基类所共享的特性和行为,并有更多的特性,同时复制了基类的接口
修改导出类继承的方法:1.添加更多方法 2.覆盖(创建该方法的新定义)
is-a:父类只覆盖基类的方法
is-like-a:父类添加更多的方法
多态:同一个接口,使用不同的实例而执行不同操作三个必要条件:1.继承 2.重写 3.父类引用指向子类对象