1、什么是对象?
程序里的一个对象,可以类比为现实里的一个实体,如一只猫。它有自己的一些属性,比如年龄、姓名;也有自己的一些能力,比如行走瞌睡;于是就可以响应别人发出的命令。到了程序世界里,一个按钮、一个数据库,都是对象,都有属性(数据)和能力,还能响应命令。
2、什么是面向对象?
面向对象的精髓,就是把所有东西看做对象,对象有属性和能力,并且能响应命令。
面向对象的程序设计是当前世界上最流行的程序设计思想和方法。
3、什么是面向过程?
在面向对象还没出现的时候,只有面向过程的概念。
面向过程指的是程序员接到需求,会把它拆成一个一个的命令,然后串起来交给计算机去执行。
例如产品经理说要把大象装进冰箱里。程序员列了几个步骤:把冰箱门儿打开;把大象装进去;把冰箱门儿关上。每个步骤程序员都会用一个「函数」来实现。「函数」是一些代码的集合体,每个函数可以实现一个功能。所有函数定义好了之后,依次调用就可以了。
每次需求的变更,程序员就要把整个系统通读一遍,找出可用的函数(如果没有就再定义一个),最后依次调用它们。
4、面向对象的优点
面向对象抛弃了函数,把「对象」作为程序的基本单元。面向对象的编程就是依次向不同的对象发送命令。
先定义一个「冰箱」对象,它的「数据」就是当前的冷冻温度,或者该冰箱已经有了多少头大象,「能力」就是开门、关门。还有一个「大象」对象,它的「数据」可以是大象的智商、体积,「能力」就是「自己跑到冰箱里去」。然后我们依次:向冰箱下达「开门」的命令;向大象下达「进冰箱」的命令;向冰箱下达「关门」的命令。
也就是说,把「数据」和「行为」都封装到了对象里,通过接口来调用对象的能力。
面向对象有很多特性,如继承、封装、多态等。
——部分内容整理自网络——