1.面向对象的五大特性:
- 万物皆对象
- 程序是对象的集合 他们通过发送消息来告知彼此需要做什么
- 每个对象都有自己的由其他对象所构成的存储(可以通过创建包有其他对象来构建新的类型)
- 每个对象都有其类型(每个对象都是某个类的实例 每个类与其他类区别的特性就是我们可以发送一个什么样的消息给它)
- 某一特定类型的对象都可以接收同样的消息
对象都具有 状态 行为 和 标识 也就是说 每个对象都可以有自己的内部存储数据 和方法 并且每一个对象都可以与其他对象唯一区别开来 ( 对应的唯一内存地址)
2.面向对象思想概论
高内聚:提高每个对象(类) 的功能唯一性 不要将一个对象(类)中放入太多的功能
3.访问权限控制
- 让客户端程序员无法触及他们不应该触及的部分
- 允许库设计者改变内部的工作方式不影响类库的使用者
访问权限的三个关键字 public private protected
public:任何人都是可用的
private: 类的创建者和类的内部成员才可以访问
protected:只有继承类才可以访问
默认权限 : 本包内的成员可以访问
复用的具体实现:
代码复用是面向对象程序设计的最了不起的优点之一
将A类的对象至于B类中 使用现有类合成新类的这种概念称之为组合
组合经常被视为 has-a(拥有)关系
由于继承在面向对象中非常的重要 所以大部分程序员会优先考虑继承 这会导致从程序设计过于复杂 所以可以适度考虑使用组合