程序设计就是对复杂度的管理。它包括:待解决问题的复杂度和所依赖的底层机器的复杂度。
      所有编程语言都提供抽象机制,可以认为,你所能够解决的问题的复杂性直接取决于抽象的类型和质量。所谓的类型是指你所抽象的是什么。
      面向对象语言的特点:
1.万物皆为对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上,你可以抽取待解决问题的任何概念化构建,将其表示为程序中的对象。
2.程序是对象的集合,他们彼此通过发送消息来调用对方。要想产生一个对对象的请求,就必需对该对象发送一条消息。更具体的说,你可以把消息想像为对某个特定对象的方法的调用请求。
3.每个对象都拥有由其他对象所构筑的存储。你可以通过创建包含现有对象集合的包的方式来创建新类型的对象。
4.每个对象都拥有其类型(Type).每个对象都是某个类(class)的一个实例(Instance),每个类中最重要的区别于其他类的特性就是你可以发送什么消息给它。
5.某一特定类型的所有对象都可以接受同样的消息。
对象:对象拥有状态,行为和标识。这意味着每一个对象都可以拥有内部数据和方法,并且每一个对象都可以唯一的与其他对象相区分开,具体说来,就是每一个对象在内存中都有一个唯一的地址。
所有的对象都是唯一的,但同时也是具有相同的特性和行为的对象所归属的类的一部分。
在程序执行期间具有不同的状态而其他方面都相似的对象会被分组到对象的类中,这就是关键词class的由来。创建抽象数据类型(类)是面向对象程序设计的基本概念之一。抽象数据类型的运行方式与内置类型几乎完全一致:你可以创建某一个类型的变量(按照面向对象的说法,称其为对象或实例),然后操作这些变量(称其为发送消息或请求;你发送消息,对象就能够知道需要做什么)。每个类的成员(member)或元素(element)都共享相同的性质:每个账户都有不同的结余金额,每个出纳都有自己的名称。因此,出纳,客户,账户,交易等都可以在计算机程序中被表示成为唯一的实体。这些实体就是对象,每一个对象都属于定义了特性和行为的某个特定的类。
posted on 2007-08-04 10:36  王永庆  阅读(285)  评论(0编辑  收藏  举报