java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料

保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。

面试的一个问题: 聊聊面向对象6大原则

1. 开闭原则( 软件实体应当对扩展开放,对修改关闭)

要做到开闭原则,就需要多使用抽象类或者接口,将相似的类进行抽象,将公有的功能引入到抽象类中,这样在进行扩展时,只需要依据抽象类,生成新的子类即可。

------------------------------------------------------------------------------------------------------

2. 接口隔离(接口里的方法对实现类都是有用的)

建立单一的接口,不要建立臃肿的庞大的接口,也就是说接口的方法尽量少。

------------------------------------------------------------------------------------------------------

3. 迪米特法则(最少知识原则)一个类应该对自己需要耦合或调用的类知道得最少,只知道public方法,不关心内部实现细节。

在应用中最直接的实现就是在两个类中间建一个中介类。但是这样可能会造成中介类的澎爆。

------------------------------------------------------------------------------------------------------

4. 单一职责原则

一个类,只有一个引起它变化的原因。即逻辑只有一个。

------------------------------------------------------------------------------------------------------

5. 依赖倒置原则

通过抽象(接口或者抽象类)使各个类或模型的实现彼此独立,不互相影响,实现模块间的松耦合。

a、每个类尽量都有接口和抽象类,或者抽象类和接口都有。

b、变量的表面类型尽量是接口或者是抽象类。

c、任何类都不应该从具体类派生。(但是在做二次开发的时候,我们无法获得高层代码的时候例外),规则不是绝对的。

d、尽量不要覆写基类已经实现好的方法

------------------------------------------------------------------------------------------------------

6. 里氏替换原则

子类完全可以代替父类。

举个例子, 鸟-->企鹅, 可是企鹅不会飞, 无法实现fly函数, 这样的继承关系就违反了里氏替换原则.

java面向对象的6大原则

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。