第4章类和对象 H 对象是面向对象程序语言中支持并实现封装的机 制。对象中既包含有数据(即属性),又包含有对这 些数据进行处理的操作代码(即行为),它们都称为 对象的成员。对象中的成员可以定义成公有的或私有 的。私有成员即在对象中被隐藏的部分,不能被该对 象以外的程序访问;公有成员则提供对象与外界的接 口,外界只能通过这个接口与对象发生联系。可以看 到,对象有效实现了封装的两个目标—对数据和行为 的包装和信息隐藏
第4章 类和对象 对象是面向对象程序语言中支持并实现封装的机 制。对象中既包含有数据(即属性),又包含有对这 些数据进行处理的操作代码(即行为),它们都称为 对象的成员。对象中的成员可以定义成公有的或私有 的。私有成员即在对象中被隐藏的部分,不能被该对 象以外的程序访问;公有成员则提供对象与外界的接 口,外界只能通过这个接口与对象发生联系。可以看 到,对象有效实现了封装的两个目标——对数据和行为 的包装和信息隐藏
第4章类和对象 H 42.3继承性 继承是软件复用的一种方式,通过继承,一个对 象可以获得另一个对象的属性,并加入属于自己的 些特性。继承提供了创建新类的一种方法,即从现有 类创建新类。新类继承了现有类的属性和行为,并通 过对这些属性和行为进行扩充和修改,增添自已特有 的一些性质
第4章 类和对象 4.2.3 继承性 继承是软件复用的一种方式,通过继承,一个对 象可以获得另一个对象的属性,并加入属于自己的一 些特性。继承提供了创建新类的一种方法,即从现有 类创建新类。新类继承了现有类的属性和行为,并通 过对这些属性和行为进行扩充和修改,增添自己特有 的一些性质
第4章类和对象 H 继承简化了人们对系统的认识和描述。我们可以 通过对一些有内在联系的类进行分析,抽象出这些类 中所包含的共性,从而形成一般类的概念。在一般类 的基础上,增添每个具体的类所具有的特性,就形成 了各个不同的特殊类。特殊类的对象拥有一般类的全 部属性和操作,我们称为特殊类对一般类的继承。在 特殊类中,我们不必考虑继承来的属性和行为,只需 着重研究它所特有的那些性质就可以了。这就好像在 现实世界中,我们已知房子是建筑物这一概念的继承, 则房子这一概念具有建筑物的所有特点,还同时包含 有它自身所特有的一些属性
第4章 类和对象 继承简化了人们对系统的认识和描述。我们可以 通过对一些有内在联系的类进行分析,抽象出这些类 中所包含的共性,从而形成一般类的概念。在一般类 的基础上,增添每个具体的类所具有的特性,就形成 了各个不同的特殊类。特殊类的对象拥有一般类的全 部属性和操作,我们称为特殊类对一般类的继承。在 特殊类中,我们不必考虑继承来的属性和行为,只需 着重研究它所特有的那些性质就可以了。这就好像在 现实世界中,我们已知房子是建筑物这一概念的继承, 则房子这一概念具有建筑物的所有特点,还同时包含 有它自身所特有的一些属性
第4章类和对象 H 个一般类可以派生出多个特殊类,不同的特殊 类在一般类的基础上增加了不同的特性。一个类也可 以继承多个一般类的特性,这称之为多继承 继承是很重要的概念。继承支持多层分类的概念, 使得一个个原来彼此孤立的类有效地组织起来,形成 层次结构关系。倘若不使用多层分类的概念,对每个 对象的清晰描述都要穷尽其特征,而采用继承的概念 描述一个对象,只需在一般类特征的基础上加上该对 象的一些专有特性即可
第4章 类和对象 一个一般类可以派生出多个特殊类,不同的特殊 类在一般类的基础上增加了不同的特性。一个类也可 以继承多个一般类的特性,这称之为多继承。 继承是很重要的概念。继承支持多层分类的概念, 使得一个个原来彼此孤立的类有效地组织起来,形成 层次结构关系。倘若不使用多层分类的概念,对每个 对象的清晰描述都要穷尽其特征,而采用继承的概念 描述一个对象,只需在一般类特征的基础上加上该对 象的一些专有特性即可
第4章类和对象 H 424多态性 多态性也是面向对象程序设计的重要特性之 简单地说,多态性就是一个接口,多种方式。在基类 中定义的属性和操作被派生类继承之后,可能具有不 同的数据类型或表现出不同的行为,我们称之为多态 性。也就是说,多态性表现为同一属性或操作在一般 类及各特殊类中具有不同的语义。从同一基类派生出 来的各个对象具有同一接口,因而能响应同一格式的 信息,但不同类型的对象对该信息响应的方式不同, 导致产生完全不同的行为。在这里,消息一般是指对 类的成员函数的调用,而不同的行为即用不同的函数 实现
第4章 类和对象 4.2.4 多态性 多态性也是面向对象程序设计的重要特性之一。 简单地说,多态性就是一个接口,多种方式。在基类 中定义的属性和操作被派生类继承之后,可能具有不 同的数据类型或表现出不同的行为,我们称之为多态 性。也就是说,多态性表现为同一属性或操作在一般 类及各特殊类中具有不同的语义。从同一基类派生出 来的各个对象具有同一接口,因而能响应同一格式的 信息,但不同类型的对象对该信息响应的方式不同, 导致产生完全不同的行为。在这里,消息一般是指对 类的成员函数的调用,而不同的行为即用不同的函数 实现