# 面向过程和面向对象

# 面向过程思想概述

面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。

# 面向对象思想概述

当需求单一,或者简单时,我们一步一步去操作没问题,并且效率也挺高。可随着需求的更改,功能的增多,发现需要面对每一个步骤很麻烦了,这时就开始思索,能不能把这些步骤和功能在进行封装,封装时根据不同的功能,进行不同的封装,功能类似的封装在一起。这样结构就清晰了很多。用的时候,找到对应的类就可以了。这就是面向对象的思想。面向对象是基于面向过程的编程思想。

# 面向对象特征

  • 抽象
  • 封装
  • 继承
  • 多态

# 抽象

把现实世界中的某一类东西,提取出来,用程序代码表示,抽象出来的一般叫做类或者接口。抽象并不打算了解全部问题,而是选择其中的一部分,暂时不用部分细节。抽象包括两个方面:

  • 数据抽象:表示世界中一类事物的特征,就是对象的属性。比如鸟有翅膀,羽毛等 (类的属性)
  • 过程抽象:表示世界中一类事物的行为,就是对象的行为。比如鸟会飞,会叫 (类的方法)

# 封装

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成 “类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,以特定的访问权限来使用类的成员。隐藏之后,外部程序就不能接触和改变那些细节,所以不用担心自己的类会受到非法修改,可确保它们不会对其他程序造成影响。

# 封装的原则

  • 将不需要对外提供的内容都隐藏起来
  • 把属性都隐藏,提供公共方法对其访问

# 继承

一种联结类的层次模型,并且允许和鼓励类的重用,提供一种明确表达共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类 (子类),原始类称为新类的基类 (父类)。派生类可以从它的父类哪里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。因此可以说,继承为了重用父类代码,同时为实现多态性作准备。

# 继承概念的实现方式

  • 类继承:类继承是指直接使用基类的属性和方法而无需额外编码。
  • 接口继承:接口继承是指仅使用属性和方法的名称、但是子类必须提供实现。

# 多态

多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。

# 实现多态的方式

  • 重载
  • 重写
  • 实现接口

# 面向对象总结

封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了代码重用。而多态则是为了实现另一个目的:接口重用!多态的作用,就是为了类在继承和派生的时候,保证使用 “家谱” 中任一类的实例的某一属性时的正确调用。

# 面向对象开发

就是不断的创建对象,使用对象,指挥对象做事情。

# 面向对象设计

更好的管理和维护对象之间的关系。

# 面向对象优点

  • 更符合我们思想习惯的思想
  • 将复杂的事情简单化
  • 将我们从执行者变成了指挥者
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Metal-Heart 微信支付

微信支付

Metal-Heart 支付宝

支付宝

Metal-Heart 贝宝

贝宝