面向对象的一些知识

274 阅读2分钟
// 1\封装:  一个类封装了数据以及操作数据的代码逻辑体。定义了数据的可访问属性(私有、公有)
// 2\继承 : 可以让一个类型获取另外一个类型的属性的方式。分为实现继承和接口继承
// 3\多态 : 类实例的一个方法在不同情形下有不同的表现形式,即不同的外在行为。使具有不同的内部结构的对象可以共享相同的外部接口。

// 1\单一功能原则 : 每个类型(包括接口和抽象)功能要求单一,只负责一件事情
//                开放封闭原则:一个软件实体应该对扩展开发,对修改关闭。可扩展但是不可更改。
//                核心:用抽象构建框架,用实现类实现扩展。
// 2\替换原则(里氏代换原则):子类能够替换父类,出现在父类能够出现的任何地方
//                 当使用继承时,尽量遵循历史替换原则,尽量不要去重写或者重载父类的方法,以免破坏整个继承体系的 。因为父类在定义或者实现某些方法时,规定了必须遵守的规则和契约。

// 3\依赖原则: 具体依赖抽象,上层依赖下层。核心思想是面向接口编程。
//            两个模块之间依赖的应该是抽象(接口或抽象类)而不是细节。细节(实现类)依赖于抽象。
//            依赖原则基于的事实:相对于实现类的多变性,抽象的东西要稳定得多,基于抽象的构架也比基于实现的架构更加稳定,且扩展性更高

// 4\接口分离原则:模块间要通过具体接口分离开,而不是通过类强耦合。例如A类对B类的依赖,可以抽象接口I,B实现I,A类依赖I来实现。但是抽象接口必须功能最小化(与单一功能原则有点不谋而合)。

// 5\迪米特原则:最小依赖原则,一个类对其他类尽可能少的了解,只与朋友通信。降低耦合
//             依赖原则告诉我们要面向接口编程;
//             接口分离原则告诉我们设计接口的时候功能要单一;
//             里式替换告诉我们不要破坏继承体系,而是去扩展;
//             单一功能原则告诉实现类要功能单一。
//             开放封闭原则则是总纲,对扩展开放,对修改封闭。


// 重写-----------如果子对象觉得父对象继承来的方法不好用,可在本地定义同名自有方法,覆盖父对象的方法。
// 重载-----------是类的内部的方法构型上的不同,是发生在同一个类里面的。同一个函数名称,参数不同的多个方法,实现同一类型的功能。