41面向对象程序设计一面向对象的概念 ■6.继承 在介绍类的概念时提到,可由已有的类派生出新的类,派生出的 新类称为子类,原来的类称为父类,从而构成了类的层次关系,也就 是类的继承。继承是类之间的一种常见关系,它是一种“一般”和 “特殊”的关系。如在一个学校的人事管理系统中,可定义如下几 个类:人员 Person类、学生 Student类和教师 Teacher类,其中 Person 类是 Student类和 Teache类的父类,而 Student类和 Teacher类是 Personn的子类。它们的关系如图4.1所示:通过继承,子类继承了母 类的属性和行为,在子类中就不用再定义父类中已有的属性和行为了 如在 Person类中,应该具有姓名、性别、年龄、籍贯、民族等属性和 对人信息的修改和打印等行为,它们已被封装在 Person类中在 Student类和 Teacher:类中就不用再定义 Person类中已有的属性和行为 了。通过继承, Student类和 Teacher类中已经自动具有了从父类继承 下来的属性和行为,而只需在 Student类和 Teacher类中添加其自身所 需的属性和行为即可
◼ 6. 继承 在介绍类的概念时提到,可由已有的类派生出新的类,派生出的 新类称为子类,原来的类称为父类,从而构成了类的层次关系,也就 是类的继承。继承是类之间的一种常见关 系,它是一种“一般”和 “特殊”的关系。如在 一个学校的人事管理系统中,可定义如下几 个类:人员Person类、学生Student类和教师Teacher类,其中Person 类是Student类和Teacher类的父类,而Student类和Teacher类是 Personr的子类。它们的关系如图4.1所示:通过继承,子类继承了母 类的属性和行为,在子类中就不用再定义父类中已有的属性和行为了。 如在Person类中,应该具有姓名、性别、年龄、籍贯、民族等属性和 对人信息的修改和打印等行为,它们已被封装在Person类中,在 Student类和Teacher类中就不用再定义Person类中已有的属性和行为 了。通过继承,Student类和Teacher类中已经自动具有了从父类继承 下来的属性和行为,而只需在Student类和Teacher类中添加其自身所 需的属性和行为即可。 4.1 面向对象程序设计— 面向对象的概念
41面向对象程序设计一面向对象的概念 ■6.继承 Person Student cachet 图4.1
◼ 6. 继承 4.1 面向对象程序设计— 面向对象的概念 图4.1
41面向对象程序设计一面向对象的概念 ■7.多态 在前面介绍消息时提到,不同的对象对相同的消息可有不同的 解释,这就形成多态性。其实,简单地讲,多态性表示同一种 事物的多种形态。如开拖拉机、开小轿车、开大卡车、开火车 开摩托艇、开飞机等都是“开”,但作用的对象不同,其具体 动作也各不相同。但都表达了一个相同的含义--开交通工具, 这也是一种抽象,而且是更高一级的抽象。 多态性是面向对象程序设计的主要精髓之一,在此仅作了简单 的提及,后面还将详细介绍。 上述的几个概念中,抽象、封装、继承和多态是面向对象方法 学中的四个最基本的概念,人们常常将抽象性、封装性、继承 性和多态性称为面向对象的四大特性,只有深入了解了这四大 特性,才有可能真正掌握面向对象的方法,才能真正步入面向 对象程序设计的殿堂
◼ 7. 多态 在前面介绍消息时提到,不同的对象对相同的消息可有不同的 解释,这就形成多态性。其实,简单地讲,多态性表示同一种 事物的多种形态。如开拖拉机、开小轿车、开大卡车、开火车、 开摩托艇、开飞机等都是“开”,但作用的对象不同,其具体 动作也各不相同。但都表达了一个相同的含义----开交通工具, 这也是一种抽象,而且是更高一级的抽象。 多态性是面向对象程序设计的主要精髓之一,在此仅作了简单 的提及,后面还将详细介绍。 上述的几个概念中,抽象、封装、继承和多态是面向对象方法 学中的四个最基本的概念,人们常常将抽象性、封装性、继承 性和多态性称为面向对象的四大特性,只有深入了解了这四大 特性,才有可能真正掌握面向对象的方法,才能真正步入面向 对象程序设计的殿堂。 4.1 面向对象程序设计— 面向对象的概念
41面向对象程序设计一面向对象的概念 ■8.∪ML静态视图简介 UML是统一建模语言( Unified Modeling Language)的缩写形式。它 是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、 构造和建立软件系统制品的文档等。∪ML适用于各种软件开发方法、 软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种 总结了以往建模技术的经验并吸收了当今优秀成果的标准建模方法 UML具有相当广泛的内容,鉴于篇幅的限制,本节打算只介绍其中的 稍许部分 视图是UML中最核心、最主要的内容。视图分结构视图和动态视图两 大类,其中结构视图用于描述系统中的结构成员及其相互关系;动态 视图用于描述系统随时间变化的行为。 静态视图是UML中用得很广泛的一种视图,它是结构视图中的一种。 它之所以被称为静态的是因为它不描述与时间有关的系统行为,只用 于描述系统中的结构成员及其相互关系。静态视图主要由类及类之间 的相互关系组成,这些相互关系主要包括:关联、聚集和泛化等
◼ 8. UML静态视图简介 UML是统一建模语言(Unified Modeling Language)的缩写形式。它 是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、 构造和建立软件系统制品的文档等。UML适用于各种软件开发方法、 软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种 总结了以往建模技术的经验并吸收了当今优秀成果的标准建模方法。 UML具有相当广泛的内容,鉴于篇幅的限制,本节打算只介绍其中的 稍许部分。 视图是UML中最核心、最主要的内容。视图分结构视图和动态视图两 大类,其中结构视图用于描述系统中的结构成员及其相互关系;动态 视图用于描述系统随时间变化的行为。 静态视图是UML中用得很广泛的一种视图,它是结构视图中的一种。 它之所以被称为静态的是因为它不描述与时间有关的系统行为,只用 于描述系统中的结构成员及其相互关系。静态视图主要由类及类之间 的相互关系组成,这些相互关系主要包括:关联、聚集和泛化等。 4.1 面向对象程序设计— 面向对象的概念
41面向对象程序设计一面向对象的概念 ■8.∪ML静态视图简介 静态视图用类图来实现。在类图中类用矩形框来表示,它的属性和行 为分别列在分格中;如果不需要表达详细信息,分格可以省略。一个 类可能出现在好几个图中,同一个类的属性和行为可以只在一种图中 列出,在其他图中可省略。 关系用类框之间的连线来表示,不同的关系用连线和连线两端的修饰 符来区别。 表4-1是静态视图中经常使用的部分符号及说明,在此列出,以供参 考。下面对关联、聚集和泛化分别各举一例,以说明如何绘制这些图 如在学校里,一个教师( Teacher)可以教授多门课( Course),一门课 可由多位教师讲授,因此,存在一个教师授课( Teacher Course)的 关联(如图4.2所示)。在由界面元素构成的人机界面模型中,框架 窗口、菜单、工具条等就形成一种聚集关系(如图4.3所示)
◼ 8. UML静态视图简介 静态视图用类图来实现。在类图中类用矩形框来表示,它的属性和行 为分别列在分格中;如果不需要表达详细信息,分格可以省略。一个 类可能出现在好几个图中,同一个类的属性和行为可以只在一种图中 列出,在其他图中可省略。 关系用类框之间的连线来表示,不同的关系用连线和连线两端的修饰 符来区别。 表4-1是静态视图中经常使用的部分符号及说明,在此列出,以供参 考。下面对关联、聚集和泛化分别各举一例,以说明如何绘制这些图。 如在学校里,一个教师(Teacher)可以教授多门课(Course),一门课 可由多位教师讲授,因此,存在一个教师授课(TeacherCourse)的 关联(如图4.2所示)。在由界面元素构成的人机界面模型中,框架 窗口、菜单、工具条等就形成一种聚集关系(如图4.3所示)。 4.1 面向对象程序设计— 面向对象的概念