对象(Object)
何为对象?也许这是许多像我一样初入编程刚了解面向对象的小白心中都有疑问
- 其实对象就是把我们人类现实世界中的事物,放入计算机中就是一个对象,这是一种现实与计算机之间的转换过程,简单来说就是把现实中的一个事物用计算机写出来,它就是一个对象,所以经常流传一句话:万物皆为对象,我们现实中所看到的摸到的写入计算机中,它就属于一个对象。
- 对象中包括属性(Properties)和方法(Methods),属性就是描述一个事物的状态,例如一个人的名字、性别等静态状态,而方法就是类似于一个人的行为,例如跑步、跳远等一个动态的行为。
- 对象还有唯一性:即使两个完全相同的对象,也不是同一个对象
面向对象
面向对象简单来说就是把现实中的事物都抽象成为对象封装之后再去使用,面向对象更注重于怎么去达成这个目的,而面向过程则更注重与达成这个目的的过程,面向过程主要就是利用函数进行编程,面向对象具有封装、继承和多态三个特点。
面对对象三大特点
封装
隐藏对象的属性和实现细节,仅仅提供使用方法,简单来说就是把一系列的属性和方法装进一个盒子中并给这个盒子命名,然后再给外界使用。
继承
继承性是子类可以共享父类属性和方法的一个特点,当我们定义一个类的时候,可以在已有的类上进行,把这个已经存在的类的内容定义为自己的内容再加入新的内容,如果子类只继承一个父类的属性和方法,称为单重继承,如果子类继承多个父类的属性和方法,则称为多重继承
多态
相同的操作或者函数可作用于多种类型的对象上并产生不同的结果,不同的对象收到同一个方法可以产生不同的结果,这种现象就被称作多态性,简单来说就是指同一行为可以产生多个不同的形式或者状态的能力。
面向对象编程优势
- 因为随着人们对于计算机需求越来越高,所以诞生出了面向对象编程,面向对象编程可以让人们更方便地维护,把代码都分成一块一块的,当某个地方出现bug的时候就可以精准的找到负责那一块的对象进行调试。
- 面向对象编程还有一个优点就是可以复用,让代码变得更加清晰简便。
- 面向对象还可以让系统变得更加灵活,更容易达到一些目的。
面向对象编程劣势
世间万物皆有两面性,面向对象的劣势之处就在于比较抽象化,性能比较低,所以开发大型项目或者系统时就可以利用面向对象编程进行开发,而开发简单系统想达到比较容易实现的目的时,我们就可以采用面对过程编程,面对过程编程会比较容易理解一些,而且性能比较高一点。