面向对象程序设计
以对象为中心的思维方式,每个对象用自己的方法来管理数据,也就是说只有对象内部的代码能够操作对象内部的数据。只要暴露出的接口稳定,即使对象内部发生变化,对外界来说也不认为它发生了变化。同类对象还可抽象出共性,形成类(class)。
程序 = 对象 + 对象 + 对象 + 消息传递
对象 = (算法 + 数据结构)
从计算机的观点看对象
1.对象是计算机内存中的一块区域,通过内存分块每个对象在功能上相对保持独立.
2.内存既存数据,又存代码,只有对象中的代码能访问存储于对象中的数据。这清楚地限定了对象所具有的功能,并且使得对象不受未知外部事件的影响,从而使自己的数据和功能不会遭受破坏.
3.对象之间只能通过函数调用来实现相互通信.
4.当对象的一个函数被调用时,对象执行内部的代码来响应该调用,从而使对象呈现一定的行为。这个行为及其呈现出来的结果就是该对象所具有的功能.
面向对象的特征
1.抽象
抓住事物本质,而不是内部具体细节或具体实现(一般无此特征)。
2.封装
按照信息屏蔽的原则,把对象的属性和操作结合在一起,形成一个独立的对象。
通过限制对属性和操作的访问权限,可以将属性”隐藏”在对象内部,对外提供一定的接口,在对象之外,只能通过接口对对象进行操作。
封装性增加了对象的独立性,从而保证了数据的可靠性。
比如:我们不关心电视机的内部工作原理,我