面向对象编程(OOP)
一、面向对象程序设计
Smalltalk是世界上第一种成功的面向对象程序设计语言,也是Java的基础语言。
Smalltalk的五大基本特征同样也是面向对象程序设计方法。
- 所有事物都是对象。对象用来保存数据,同时它可以对自身进行操作。理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。
- 程序是各种对象的组合。通过消息传递,让对象知道自己该做些什么。消息就是一个调用请求,它调用的是从属于目标对象的一个子例程或函数。
- 每个对象都有自己的存储空间,可容纳其他对象。通过封装现有对象,可制作出新型对象,子类继承父类,封装了父类对象,并且新增或者修改了父类对象属性功能。
- 每个对象都有一种类型。一个类最重要的特征就是他能保存什么样的数据、接收什么样的消息。
- 同一类所有对象都能接收相同的消息。里氏替换原则中说,任何基类可以出现的地方,子类一定可以出现。子类继承父类后,子类可以接收和父类相同的消息。
二、 对象的类和接口
“接口”(Interface)规定了可对一个特定的对象发出哪些请求(具有哪些方法)。必须在某个地方存在着一些代码,实现这些方法,以满足这些请求。这些代码与那些隐藏起来的数据便叫作“隐藏的实现”。