四大基本特性:
抽象:
提取现实世界中某事物的关键特性,为该事物构建模型的过程。对同一事物在不同的需求下,需要提取的特性可能不一样。得到的抽象模型中一般包含:属性(数据)和操作(行为)。这个抽象模型我们称之为类。对类进行实例化得到对象。
封装:
封装可以使类具有独立性和隔离性;保证类的高内聚。只暴露给类外部或者子类必须的属性和操作。类封装的实现依赖类的修饰符(public、protected和private等)
继承:
对现有类的一种复用机制。一个类如果继承现有的类,则这个类将拥有被继承类的所有非私有特性(属性和操作)。这里指的继承包含:类的继承和接口的实现。
多态:
多态是在继承的基础上实现的。多态的三个要素:继承、重写和父类引用指向子类对象。父类引用指向不同的子类对象时,调用相同的方法,呈现出不同的行为;就是类多态特性。多态可以分成编译时多态和运行时多态。
抽象、封装、继承和多态是面向对象的基础。在面向对象四大基础特性之上,我们在做面向对象编程设计时还需要遵循有一些基本的设计原则。
24种设计模式(gof23+1):
创建型模式:
1.简单工厂模式(不包含在gof23中)
2.工厂模式
3.抽象工厂模式
4.单例模式 5.原型模式 6.创建者模式结构型模式:
1.组合模式 2.装饰者模式 3.外观模式 4.适配器模式 5.代理模式 6.享元模式 7.桥接模式
行为型模式:
1.观察者模式 2.策略模式 3.状态模式 4.中介模式 5.模板方法 6.命令模式 7.备忘录模式 8.访问者模式 9.解释器模式 10.迭代器模式 11.职责链模式