一:面向对象基础概念
1:什么是对象
概念:
对象是OO(Object Oriented)程序的构建模块。使用OO技术实际上是多个对象的集合。每个对象由数据和行为构成。
分类:
对象数据,也就是对象属性,属性中包含了能够区分不同对象的信息。对象的行为,就是对象可以做什么,也就是方法。对象可以做的行为包含在方法中,通过发送消息来进行方法调用。消息:对象之间的通信机制。当对象A在调用对象B时,就是对象A再给对象B发送消息。
对象使用:使用对象时,对象不需要公开它的所有属性和行为。对象只应该公开其他对象与之交互所必须的接口。
2:什么是类
概念:类是对象的蓝图。实例化一个对象时,就是使用一个类作为构建这个对象的基础。 类是对象的模板。
类和对象关系:类和对象的关系,很类似与鸡和蛋的关系。无法离开对象去描述类,描述类又不能不用到对象这个词。但是最终的结果应当是先有类,如果没有类,对象就无法被实例化。必须在创建对象之前先设计类。
3:封装和数据隐藏
概念:封装定义为对象同时包含属性和方法。数据隐藏是封装的一个重要部分。
接口:接口定义了对象间通信的基本途径。每个类设计都要指定接口来正确地实现对象的实例化和操作。对象提供的行为必须通过使用接口发送的消息来调用。在大多数的OO语言中,都将接口中的方法指定为Public。
私有数据:要实现数据隐藏,所有的属性都应当声明为private。属性不是接口的一部分。属性被设置成Public会破坏数据隐藏的概念。
4:继承
概念:继承允许类继承另一个类的属性和方法。反过来说抽取不同的类之间的共性,形成父类。例如你有一个Dog类和一个Cat类。两个类都有一个属性表示眼睛的颜色。在OO设计中这些共性就可以上移到一个Mammal类。Dog类和Cat类都继承与Mammal类。这里Dog类有两两个属性分别是:
自己特有的属性:barkFrequency
继承父类的属性:eyeColor
同样的方法也是两个
自己特有的方法:bark
继承父类的方法:getEyeColor
当我们进行Dog或者Cat类的实例化时,它不仅仅包含该类本身的所有内容,还包括从父类继承的所有内容。
5:多态
概念:对同一条消息会产生不同的响应。在继承的层次中,所有子类都从超类继承接口,但是每一个子类都是一个独立的实体,同样是叫的方法,Dog类和Cat类效果就截然不同。
6:组合
概念:组合和继承是两种可以根据原有的类形成新类的方式。组合是通过其他对象来构建新的对象。