一、概念
对象:人们要研究的任何事物,包括具体的事物和抽象的规则、计划等
对象的状态和行为:
状态,用数据值描述对象的状态
操作,用于改变对象状态,对象及其操作就是对象的行为
类:
具有相同特性和行为的对象的抽象
类的属性,就是对象状态的抽象,用数据结构和描述
类的操作,就是对象行为的抽象,用操作名和方法和描述
类的结构:
一般-具体结构关系,"is a"关系,称为分类结构
整体-部分结构关系,“has a"关系,称为组装结构
消息和方法:
消息,对象之间进行通信的结构,至少包括说明接受消息的对象名、发送给该对象的消息名
方法,类中操作的实现过程,包括方法名、返回值、参数和方法体
二、三大特性
封装:
把客观的事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类和对象操作,对不可信者进行信息隐藏
继承:
可以让某个类型的对象获得另一个类型的对象的属性的方法。实现继承可以通过继承(Inheritance)和组合(Composition)来实现。继承概念的实现方式有两种:实现继承和接口继承。
多态:
一个类实例的相同方法在不同情形下有不同的表现形式。
三、设计模式
概念:设计模式是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。
设计框架:
可复用的面向对象软件系统一般分为两类:应用程序工具箱和框架。
设计原则:
1.开闭原则:模块应对扩展开发,而对修改关闭。
2.里氏代换原则:如果调用的是父类,那么换成子类也完全可以运行。
3.依赖倒转原则:抽象不应该依赖于细节,细节应当依赖于抽象,即针对接口编程而非针对实现编程。
4.接口隔离原则:每个接口应该是一种角色。
5.最少知识原则:每个对象对其他对象有尽可能少的了解。
设计模式分为三类(23种):
创建型:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式
结构型:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式
行为模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式、访问者模式。