面向对象的三大特性六大原则

Posted yuxiaoxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向对象的三大特性六大原则相关的知识,希望对你有一定的参考价值。

 

 

(1)

封装就是把数据和过程封装在一起形成一个类,向用户隐藏其实现细节,用户只能通过开放的接口与对象进行通信,而不能直接访问内部细节,比如

public class Person {
    private String name;
    private int age;
    public Person(String name, int age){
        this.name = name;
        this.age = age;
    }    

}

就是把name和age封装成Person,这样Person的用户就不能直接访问name和age,但是他们可以通过introduce方法与Person进行交互。如下:

public void someMethod(Person person) {
    person.introduce()
}

(2)继承指的是拥有多类共性的已有的类派生出新的子类,子类拥有父类的全部属性和行为。除此之外,子类可以重新定义和扩展属性和行为。父类是子类的泛化,而子类是父类的具体特化。继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系;从开发进度上,能大大增加代码的重用性。
(3)多态指的是以统一的方式来接收不同数据,并对数据进行不同的处理。使用多态可以提高程序的可扩展性和可复用性。
(4)单一职责指的是一个类或者一个方法,最好只做一件事,,降低耦合
(5)里氏代换指的子类必须能够替换基类,否则不应当设计为其子类。也就是说,子类只能去扩展基类,而不是隐藏或覆盖基类。比如JisuanQi是父类,Add是子类,而 JisuanQi jsp=new Add(n1,n2);即:子类可以代替换父类,而父类不可以替换子类,还有最熟悉的向上转型规则。
(6)开闭指的是既开放又封闭,对软件的功能扩展是开放的,对更改软件的功能是封闭的,尽可能的不修改。因为修改程序有可能会对原来的程序造成错误。不能修改,但是可以添加功能,尽可能的在外边添加新的类。
(7)接口隔离指的软件在设计中,使用多个小的专门的接口,而不要使用一个大的总接口。就是通过定义一个接口都执行一个专门的功能,用什么调什么。这样可以提高代码的灵活性,还可以降低类间的耦合性。提高稳定性。
(8)依赖倒置指的是传统的结构化编程中,最上层的模块通常都要依赖下面的子模块来实现功能,既高层依赖低层!高层依赖低层!依赖倒置原则就是要逆转这种依赖关系,让高层模块不要依赖低层模块,二者都通依赖于抽象。抽象不依赖于具体(细节),而(细节)具体依赖于抽象。模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;接口或抽象类不依赖于实现类;实现类依赖于接口和抽象类。采用依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,减少并发引起的风险,提高代码的可读性和可维护性。
(9)迪米特原则:最小依赖原则,一个类对其他类尽可能少的了解和调用(即对象,对象.对象这种方式是不允许的),只与朋友(对象.对象)通信。朋友的朋友不是我的朋友,降低耦合
总结:
依赖原则告诉我们要面向接口编程;
接口分离原则告诉我们设计接口的时候功能要单一;
里式替换告诉我们不要破坏继承体系,而是去扩展;
单一功能原则告诉实现类要功能单一。
开放封闭原则则是总纲,对扩展开放,对修改封闭。














以上是关于面向对象的三大特性六大原则的主要内容,如果未能解决你的问题,请参考以下文章

面向对象六大原则及单例模式

面向对象三大特性五大原则

面向对象 三大特性 五大原则

面向对象的六大原则

面向对象三大基本特性,五大基本原则

面向对象三大基本特性,五大基本原则