正在加载图片...
用程序中出现的实体的实际数据结构。之所以有两个视图,是为了把说明与实现分离,对数 据结构和相关操作的实现进行封装。 (4)类( class和实例( Instance) 把具有相同特征和行为的对象归在一起就形成了类。类成为某些对象的模板,抽象地描 述了属于该类的全部对象的属性和操作。属于某个类的对象叫做该类的实例。对象的状态则 包含在它的实例变量,即实例的属性中。如图64所示。从“李杰”、“王辉”和“杨芳 等对象可得到类“学生”,而这些对象就称为该类的实例 类定义了各个实例所共有的结构,类的每一个实例都可以使用类中定义的操作。实例的 当前状态是由实例所执行的操作定义的。 李杰 杨芳 杨芳 姓名 广东 湖南 北京 籍贯 软件 计算机控制 系统结构 专业 19804 979.1 1979.12 出生年月 9#楼129室 楼320室 5#楼418室 住址 服务 看书 看书 看书 看书 实验 实验 实验 实验 图64对象、类与实例 面向对象程序设计语言,如C++和 smalltalk都定义了一个new操作,可建立一个类的 新实例。C+还引入了构造函数,用它在声明一个对象时建立实例。此外,程序设计语言给 出了不同的方法,来撤消(称为析构)实例,即当某些对象不再使用时把它们删去,把存储释 放以备其它对象使用。C++给出了一个操作 delete,可以释放一个对象所用的空间。C++还允 许每个类定义自己的析构方法,在撤消一个对象时调用它。 smalltalk没有提供一个机制来撤 消对象,但可以进行无用单元收集 类常常可看做是一个抽象数据类型(ADT)的实现。但更重要的是把类看做是表示某种概 念的一个模型。事实上,类是单个的语义单元,它可以很自然地管理系统中的对象,匹配数 据定义与操作。类加进了操作,给通常的记录赋予了语义,可提供各种级别的可访问性 (5)继承( inheritance) 如果某几个类之间具有共性的东西(信息结构和行为),抽取出来放在一个一般类中,而 将各个类的特有的东西放在特殊类中分别描述,则可建立起特殊类对一般类的继承。如图65 所示,。各个特殊类可以从一般类中继承共性,这样避免了重复。 车 大轿车 起重 图6.5特殊类对一般类的继承关系4 用程序中出现的实体的实际数据结构。之所以有两个视图,是为了把说明与实现分离,对数 据结构和相关操作的实现进行封装。 (4) 类(class)和实例(instance) 把具有相同特征和行为的对象归在一起就形成了类。类成为某些对象的模板,抽象地描 述了属于该类的全部对象的属性和操作。属于某个类的对象叫做该类的实例。对象的状态则 包含在它的实例变量,即实例的属性中。如图 6.4 所示。从“李杰”、“王辉”和“杨芳” 等对象可得到类“学生”,而这些对象就称为该类的实例。 类定义了各个实例所共有的结构,类的每一个实例都可以使用类中定义的操作。实例的 当前状态是由实例所执行的操作定义的。 图 6.4 对象、类与实例 面向对象程序设计语言,如 C++和 smalltalk 都定义了一个 new 操作,可建立一个类的 新实例。C++还引入了构造函数,用它在声明一个对象时建立实例。此外,程序设计语言给 出了不同的方法,来撤消(称为析构)实例,即当某些对象不再使用时把它们删去,把存储释 放以备其它对象使用。C++给出了一个操作 delete,可以释放一个对象所用的空间。C++还允 许每个类定义自己的析构方法,在撤消一个对象时调用它。smalltalk 没有提供一个机制来撤 消对象,但可以进行无用单元收集。 类常常可看做是一个抽象数据类型(ADT)的实现。但更重要的是把类看做是表示某种概 念的一个模型。事实上,类是单个的语义单元,它可以很自然地管理系统中的对象,匹配数 据定义与操作。类加进了操作,给通常的记录赋予了语义,可提供各种级别的可访问性。 (5) 继承 (inheritance) 如果某几个类之间具有共性的东西(信息结构和行为),抽取出来放在一个一般类中,而 将各个类的特有的东西放在特殊类中分别描述,则可建立起特殊类对一般类的继承。如图 6.5 所示,。各个特殊类可以从一般类中继承共性,这样避免了重复。 图 6.5 特殊类对一般类的继承关系 李杰 李杰 男 广东 软件 1980.4 9#楼129室 看书 实验 上课 运动 杨芳 服务 王辉 男 湖南 计算机控制 1979.1 9#楼320室 杨芳 女 北京 系统结构 1979.12 5#楼418室 姓名 性别 籍贯 专业 出生年月 住址 学生 属性 王辉 属性 属性 属性 看书 实验 上课 运动 服务 看书 实验 上课 运动 服务 看书 实验 上课 运动 服务 汽车 大轿车 运货车 救火车 起重车
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有