Java中OOP的理解

2020-08-04  本文已影响0人  轻轻敲醒沉睡的心灵

1. 什么是OOP

什么是OOP,Object Oriented(面向) Programming,即面向对象编程。很早很早以前的编程是面向过程的,我们提到的面向对象编程的优点,一般是和面向过程编程POP(procedure oriented Programming) 对比的。

2. 面向对象的三大特性:

2.1 封装

理解封装就要先理解 -- 对象:一切事物皆对象;
          -- 抽象:是提取、想象成 的意思。
封装就是把生活中的一切事物、动作、过程 抽象成对象(在Java中的存在形式是类、接口或是方法)。对象有自己的属性和实现细节,仅对外提供公共访问方式,便于使用,提高复用性和安全性。

2.2 继承

我们抽象出的对象是来描叙具体的事物的,但是这些事物都是独立的,彼此之间没有应该有的联系,这样的孤立设计并不符合现实逻辑,让事物之间的联系得到描叙,我们就需要继承。用继承的关系把这两个现实的事物联系起来,这样我们就能设计出不孤立的类,而是和其他类有联系的类。

2.3 多态

继承是多态的前提。
子类继承了来自父级类中的属性和方法,并对其中部分方法进行重写。于是多个子类中虽然都具有同一个方法,但是这些子类实例化的对象调用这些相同的方法后却可以获得完全不同的结果,这种技术就是多态性。多态性增强了软件的灵活性。

3. OOP的优缺点

3.1 优点

3.2 缺点

4. OOP设计模式六大原则

4.1 开闭原则(Open Close Principle)

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

4.2 单一职责原则(Single Responsibility Principle)

一个类只负责一个职责。

4.3 里氏替换原则(Liskov Substitution Principle)

子类替换父类(可以用父类对象的任何地方都可以用子类对象代替)

4.4 依赖倒置原则(Dependence Inversion Principle)

程序要依赖于抽象接口,不要依赖于具体实现。
要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。

4.5 接口隔离原则(Interface Segregation Principle)

设计时采用多个与特定客户类有关的接口比采用一个通用的接口要好。就比如一个手机拥有打电话,看视频,玩游戏等功能,把这几个功能拆分成不同的接口,比在一个接口里要好的多。

4.6 迪米特法则(Law Of Demeter)

一个对象应该对其他对象保持最少的了解。

上一篇 下一篇

猜你喜欢

热点阅读