导图:

Untitled


一、面向对象

1、什么是面向对象?

所谓面向对象,其实是指软件工程中的一类编程风格,很多人称之为开发范式、编程范式(programming Paradigm)。

<aside> 💡 面向对象是众多开发范式中的一种.除了面向对象还有面向过程、指令式编程和函数式编程

虽然近几年函数式编程越来越被人熟知,但在所有的开发范式中,我们接触最多的还是面向过程和面向对象两种

</aside>

2、面向过程

面向过程是一种以过程为中心的编程思想,是一种至上而下的编程模式。最典型的面向过程的编程语言就是C语言。

<aside> 💡 基于面向过程进行的软件开发,其代码都是流程化的,可以明确的看出第一步做什么,第二步做什么。

这种方式的代码执行起来效率高,但是面向过程同时存在代码重用性低,扩展能力差,后期维护难度比较大等问题

</aside>

3、面向对象

面向对象是程序员将问题分解成一个个步骤,对每个步骤进行相应的抽象,形成对象,通过对不同对象的调用,组合解决问题。

<aside> 💡 也就是说,面向对象编程时,要把属性、行为等封装成对象,然后基于这些对象及对象的能力实现业务逻辑

1、面向对象编程更加符合人类的思维方式;这种方法编写的代码扩展性、可维护性都很高

2、面向对象的三大基本特征:封装、继承、多态

3、面向对象的五大基本原则:单一职责原则、开放封闭原则、里氏替换原则、接口隔离原则、依赖倒置原则

</aside>

4、面向对象的三大基本特征

封装、继承、多态

封装:

所谓封装,把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的类或对象隐藏。

一个类就是一个封装了数据及操作这些数据的代码的逻辑实体,对内部数据提供了不同级别的保护,防止程序中无关部分意外地改变或错误地使用了对象的私有部分。

继承:

继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

通过继承创建的新类称为“子类”或“派生类”,被继承的类称为“基类”“父类”“超类”。

继承的过程就是从一般到特殊的过程(如:正方形是矩形派生出来的特列)。

多态:

所谓多态,就是指一个类实例的相同方法在不同情形下有不同的表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。

最常见的多态就是将子类传入父类参数中,当运行时调用父类方法,通过传入的子类决定具体的内部结构或行为

5、面向对象的五大基本原则(SOLID)

单一职责、开放封闭、里氏替换、接口隔离、依赖倒置