什么是面向对象?
首先,说到面向对象,我们可以拿面向过程与它进行对比。
所谓面向过程,简单的说是指通过对问题进行分析,得出解决这个问题所需要的步骤,通过函数来编写对应的功能,以解决这个问题。
而面向对象,是指通过对事物进行分解,分析,可以抽象出不同的类,通过类又可以实例化出不同的对象,这些对象都拥有同一个类所共有的属性,例如类的成员变量,类的方法。
面向过程与面向对象之间程序的结构不一样
在面向过程中,变量(数据域)与方法(函数)直接是不需要直接关联绑定的,但是在面向对象中,通过对事物进行抽象出来的每一个类里面,都会包含各自的成员变量以及各自的方法,它们是直接与这个类直接绑定关联的。这里所说的关联绑定是指,比如在C里面,我们只能用结构体对变量(数据域)进行绑定,结构体里面不能存放对数据的操作,但是在java里面,我们可以讲数据和对数据的相应操作都封装在某一个类里面。
举个栗子
比如C语言,就是一种典型的面向过程语言,我们用C来做一些编程题目的时候,通过设计一些变量,以及编写设计对应功能的函数,最后依次调用这些函数就可以达到目的了。而用面向对象语言(比如Java)做编程题目的时候,我们需要分析问题,抽象出几个不同的类,再在类里面通过设计它们对应的成员变量以及方法体(该类所具有的