面向对象简单的概括起来就是4个字:模拟现实,即编程环境下要模拟现实世界(编程是在计算机中反映世界)。那么为了模拟的更真实更贴切,就加入了抽象、封装、继承、多态的概念。这也是面向对象的几个特征。
现实世界中,万事万物(桌子、砖、人、动物、植物······)都可以用通过两个概念去描述:1.它的属性 2.它的功能、作用
比如一张书桌有属性:长宽高、材料······ 功能有:放东西,学习······
比如一个小学生有属性:姓名性别年龄身高体重······ 小学生可以做一些事情:比如吃饭睡觉打豆豆······
将事物概括起来,就是一种事物类型。比如书桌这个类型的概括起来就是:桌子;这个小学生的类型概括起来就是:人。
同理回到计算机的编程语言中,就可以将现实中的事物类型,描述为类(class);将事物的属性和功能描述为:成员变量和成员方法。
类是抽象的事务类型;对象,就是这个事物类型下的具体某个事物。
在编程中,将万事万物皆当做对象,将对象的属性和功能作用抽象成类;封装隐蔽了对象内部不需要暴露的细节,使得内部细节的变动跟外界脱离,只依靠接口进行通信.封装性降低了编程的复杂性.;事物和事物之间的所属关系 体现在 编程中的继承。编程中,多态的概念即是:一个接口,多种实现,它提高了程序的扩展性,继承和实现接口和运行时的类型绑定机制 所产生的多态,使得不同的类所产生的对象能够对相同的消息作出不同的反应,极大地提高了代码的通用性;程序就是多个对象和互相之间的通信
编程中,以对象作为基本构成单位,以对象为中心去思考问题解决问题。
这,就是我理解的面向对象思想。
-------------------------------------------------------------