第4章 类与对象
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 类与对象 章
4.1 基本概念 4.1.1 面向对象编程简介 面向对象编程或面向对象设计均可称为OOP,它是目前 面向对象编程或面向对象设计均可称为 , 占 主流地位的一种程序设计方式,取代了先前的所谓结构化, 主流地位的一种程序设计方式,取代了先前的所谓结构化, 面向过程的编程技术. 面向过程的编程技术. 传统的结构化编程是设计一组函数来解决一个问题, 传统的结构化编程是设计一组函数来解决一个问题,即先 解决算法,再解决使计算更容易的数据结构; 解决算法,再解决使计算更容易的数据结构;OOP方法则相 方法则相 即先解决数据结构,再解决数据结构运算的算法, 反,即先解决数据结构,再解决数据结构运算的算法,数据 结构和算法均封装在对象中. 结构和算法均封装在对象中.
类实质上定义了一种对象类型,它是具有相似行为的对象的一种抽象, 类实质上定义了一种对象类型,它是具有相似行为的对象的一种抽象 描述了属于该类型的所有对象的性质—统一的属性和统一的操作模式 统一的属性和统一的操作模式. 描述了属于该类型的所有对象的性质 统一的属性和统一的操作模式. 对象是在程序执行过程中由其所属的类动态生成的, 对象是在程序执行过程中由其所属的类动态生成的,一个类可以生成 多个不同对象,对象也被称作类的实例. 多个不同对象,对象也被称作类的实例.同一个类的所有对象有相同的 性质.但一个对象的内部状态只能由其自身修改, 性质.但一个对象的内部状态只能由其自身修改,任何别的对象都不能 修改它.因此,同一个类的对象虽然在外部表现形式上相同,但可以有 修改它.因此,同一个类的对象虽然在外部表现形式上相同, 不同的内部状态,即不同的属性值. 不同的内部状态,即不同的属性值.
2.继承性: 继承性: 继承性 Java中的类组成一个层次结构:一个类之上的类称为父类,下层的类 中的类组成一个层次结构: 中的类组成一个层次结构 一个类之上的类称为父类, 称为子类.这种层次结构的一个重要性质就是继承性. 称为子类.这种层次结构的一个重要性质就是继承性.父类可以产生子 子类可以继承父类中的属性和方法,且这种继承具有传递性. 类,子类可以继承父类中的属性和方法,且这种继承具有传递性.一个 类可以继承其上层的全部父类中的属性和方法.这样某个类的对象除了 类可以继承其上层的全部父类中的属性和方法. 具有这个类所描述的性质外, 具有这个类所描述的性质外,还具有类等级中该类的上层的全部父类所 描述的一切性质. 描述的一切性质. 在面向对象的继承特性中,还有一个单重继承和多重继承的概念.单 在面向对象的继承特性中,还有一个单重继承和多重继承的概念. 重继承是指一个类只有一个单一的父类.多重继承是指一个类可以有一 重继承是指一个类只有一个单一的父类. 个以上的父类. 不支持多重继承, 个以上的父类.Java不支持多重继承,但可以通过一个类实现多个接口 不支持多重继承 的方法来完成多重继承的功能. 的方法来完成多重继承的功能. 类的继承的好处:利用了代码的可重用性, 类的继承的好处:利用了代码的可重用性,减少了程序中的冗余信息
属性的说明: 属性的说明: [修饰符 变量的数据类型 变量名 =初始值 ; 修饰符] 变量名[=初始值]; 修饰符 [修饰符 修饰符] 对象名[= 类名([参数列表 参数列表])]; 修饰符 类名 对象名 =new 类名 参数列表 ; 类的属性修饰符有访问控制符, 类的属性修饰符有访问控制符,static,final,volatile,transient , , , 方法的说明: 方法的说明: [修饰符 返回值类型 方法名 形参说明 修饰符] 方法名([形参说明 形参说明])[throws 异常 ,异常 ,…]{ 异常1,异常2, 修饰符 局部变量说明; 局部变量说明; 执行语句组; 执行语句组; } 类的方法修饰符包括:访问控制符,static,final,synchronous,native 类的方法修饰符包括:访问控制符, , , 返回值可以是简单变量也可以是复合对象,若无返回值,则用void 返回值可以是简单变量也可以是复合对象,若无返回值,则用 方法的名字最好体现方法的功能,常采用动词加宾语的形式 常采用动词加宾语的形式,首字母小写 方法的名字最好体现方法的功能 常采用动词加宾语的形式 首字母小写 形参表示要传递到方法体内的变量,形参可以有多个,也可为空; 形参表示要传递到方法体内的变量,形参可以有多个,也可为空;形参 可以是简单的数据类型,也可以是复杂数据类型; 可以是简单的数据类型,也可以是复杂数据类型;对于复杂数据类型的 参数对象,传递的是对象在内存中的地址. 参数对象,传递的是对象在内存中的地址.
4.2.2 修饰符 1.访问控制符 访问控制符 包的概念:包由一组类组成,它如同文件夹一样将各种类组织在一起.包 包的概念:包由一组类组成,它如同文件夹一样将各种类组织在一起 包 中的类没有严格的某种关系, 中的类没有严格的某种关系,只是为了方便管理而将它们放在一个包中 访问控制符规定了类,属性和方法可以被程序的哪些部分访问和调用 访问控制符规定了类, (1)类访问控制符:public和默认形式 类访问控制符: 类访问控制符 和默认形式 public:公共类,表示它能被其他的任何类访问.一个包中的类相互 :公共类,表示它能被其他的任何类访问. 可见,可以互相访问, 可见,可以互相访问,但不在同一个包中的类相互间是不可 见 若要访问,则需要用import将该类引入 但引入的必须是 将该类引入,但引入的必须是 的.若要访问,则需要用 将该类引入 public类.另外,含有 类 另外,含有main( )方法的类必须是公共类 方法的类必须是公共类 默认:表示该类只能被同一个包中的类访问,而不可以被其他包中的 默认:表示该类只能被同一个包中的类访问, 类访问.即使用import引入,也不可以. 引入, 类访问.即使用 引入 也Leabharlann Baidu可以. (2)属性方法访问控制符 属性方法访问控制符: 属性方法访问控制符 public,private,protected,private protected,默认 默认 public:修饰的属性和方法是公共的属性和方法,若类也是 修饰的属性和方法是公共的属性和方法, 修饰的属性和方法是公共的属性和方法 若类也是public,则 则 这 些属性和方法可以被所有的类访问. 些属性和方法可以被所有的类访问.由于面向对象设计中的封 装性的要求,公共的属性应尽量减少 可通过公共的方法间接访问 装性的要求 公共的属性应尽量减少,可通过公共的方法间接访问 公共的属性应尽量减少
4.2.1 类的定义 格式: 修饰符 修饰符] 父类名] 接口名]{ 格式:[修饰符 class 类名 [extends 父类名 [implements 接口名 类属性声明; 类属性声明; 类方法声明; 类方法声明; } 说明:(1)class表示类定义开始,类名第一个字母通常大写 表示类定义开始, 说明 表示类定义开始 (2)修饰符用来说明类的特殊性质,分为访问控制符和类型说明符, 修饰符用来说明类的特殊性质, 修饰符用来说明类的特殊性质 分为访问控制符和类型说明符, 访问控制符用来说明类能被哪些对象引用(public),类型说明符有 访问控制符用来说明类能被哪些对象引用 类型说明符有 abstract和final,表示抽象类和最终类 和 , (3)关键字 关键字extends表示继承,后面跟一个父类名 表示继承, 关键字 表示继承 (4)关键字 关键字implements表示该类实现了接口,一个类可以实现多个 表示该类实现了接口, 关键字 表示该类实现了接口 接口, 接口,接口使得类可以实现多重继承
4.2 类 类是Java中最基本的复合数据类型,是组成Java程序的 中最基本的复合数据类型,是组成 类是 中最基本的复合数据类型 程序的 基 本要素.创建一个新类就是创建一个新的数据类型, 本要素.创建一个新类就是创建一个新的数据类型,实例化 一个类就得到一个对象. 一个类就得到一个对象 类有两种基本成分:属性和方法, 类有两种基本成分:属性和方法,又称成员变量和成员方 法. 类的成员变量可以是基本数据类型或数组, 类的成员变量可以是基本数据类型或数组,也可以是复合 数据类型. 数据类型. 类的方法用于处理该类的数据, 类的方法用于处理该类的数据,类中的方法与其他语言中 函数的区别:Java中的方法只能是类的成员,只能在类中定 中的方法只能是类的成员, 函数的区别 中的方法只能是类的成员 义.
4.1.3 消息和方法 对象之间进行交互时,通过消息来实现. 对象之间进行交互时,通过消息来实现. 构成消息的三个要素: 构成消息的三个要素: (1) 接收消息的对象 (2) 接收消息的方法 (3) 方法所需要的参数 4.1.4 面向对象编程的基本特征 1.封装性: 封装性: 封装性 封装"是一种组织开发软件的方法, "封装"是一种组织开发软件的方法,其基本思想是把客观世界中联 系 紧密的元素和相关操作组织在一起,使其相互关系隐藏在程序体内部, 紧密的元素和相关操作组织在一起,使其相互关系隐藏在程序体内部, 而对外仅仅表现为与其他封装体之间的接口. 而对外仅仅表现为与其他封装体之间的接口. 在面向对象的程序开发中,每个类都封装了相关的数据和操作.另外, 在面向对象的程序开发中,每个类都封装了相关的数据和操作.另外 在Java中,包的概念也体现了封装性,包将一组相关的类封装在一起. 中 包的概念也体现了封装性,包将一组相关的类封装在一起. 类的封装性使得代码的可重用性大为提高. 类的封装性使得代码的可重用性大为提高.使用者不用知道实现的细 只需要用设计者提供的消息来访问该对象(公共的方法). 节,只需要用设计者提供的消息来访问该对象(公共的方法).
private:私有访问控制符,经它修饰的属性和方法只能被类自身的方法 私有访问控制符, 私有访问控制符 访 问和使用,它对属性和方法进行了最高级别的保护 它对属性和方法进行了最高级别的保护.多数用来修饰 问和使用 它对属性和方法进行了最高级别的保护 多数用来修饰 属性,其他类需通过该类中的公共方法来访问这些属性 其他类需通过该类中的公共方法来访问这些属性.这些公共 属性 其他类需通过该类中的公共方法来访问这些属性 这些公共 的方法为这些属性提供了一个统一的接口,体现了面向对象思想 体现了面向对象思想. 的方法为这些属性提供了一个统一的接口 体现了面向对象思想. protected:保护访问控制符 它修饰的属性和方法比 保护访问控制符,它修饰的属性和方法比 保护访问控制符 它修饰的属性和方法比private修饰的有较大 修饰的有较大 的可见域,可以被同一个包中的其他类 可以被同一个包中的其他类,不同包中的子类以及该类 的可见域 可以被同一个包中的其他类 不同包中的子类以及该类 自身访问和引用,主要是为了让子类能够方便地访问父类 自身访问和引用 主要是为了让子类能够方便地访问父类 private protected:私有保护访问控制符 只能被该类自身和子类访问和 私有保护访问控制符,只能被该类自身和子类访问和 私有保护访问控制符 引用.既保证了子类对父类访问的方便性 又提高了使用的安全性. 既保证了子类对父类访问的方便性, 引用 既保证了子类对父类访问的方便性,又提高了使用的安全性. 默认: 只能被同一个包中的其他类访问和引用 包 默认: 修饰符 类自身 子类 不同包非子类
3.多态性: 多态性: 多态性 多态是指通过方法重写, 多态是指通过方法重写,一个类可以具有多个相同名字的 方法,由参数个数和类型对它们加以区分.通过方法重写, 方法,由参数个数和类型对它们加以区分.通过方法重写, 子类可以重写父类的某些方法,使其具有自己的特征. 子类可以重写父类的某些方法,使其具有自己的特征.重写 可以隐藏父类的方法,使子类具有了自己的具体实现. 可以隐藏父类的方法,使子类具有了自己的具体实现. 父类和子类可以有相同名字的属性和方法, 父类和子类可以有相同名字的属性和方法,在程序的执行 期间,对对象某一属性的查找是从该对象类所在层次开始, 期间,对对象某一属性的查找是从该对象类所在层次开始, 沿着类等级逐渐向上进行的, 沿着类等级逐渐向上进行的,把第一个找到的属性作为所要 的属性.因此,底层可以屏蔽高层的属性. 的属性.因此,底层可以屏蔽高层的属性.
4.1.2 类与对象 在面向对象程序设计中,对象是程序的基本单位, 在面向对象程序设计中,对象是程序的基本单位,相似的对象之间的 关系就像是相同类型的不同变量. 关系就像是相同类型的不同变量.这些相似的对象可以通过一个类将它 们抽象出来,在类中定义它们共同的属性和方法. 们抽象出来,在类中定义它们共同的属性和方法.
4.1 基本概念 4.1.1 面向对象编程简介 面向对象编程或面向对象设计均可称为OOP,它是目前 面向对象编程或面向对象设计均可称为 , 占 主流地位的一种程序设计方式,取代了先前的所谓结构化, 主流地位的一种程序设计方式,取代了先前的所谓结构化, 面向过程的编程技术. 面向过程的编程技术. 传统的结构化编程是设计一组函数来解决一个问题, 传统的结构化编程是设计一组函数来解决一个问题,即先 解决算法,再解决使计算更容易的数据结构; 解决算法,再解决使计算更容易的数据结构;OOP方法则相 方法则相 即先解决数据结构,再解决数据结构运算的算法, 反,即先解决数据结构,再解决数据结构运算的算法,数据 结构和算法均封装在对象中. 结构和算法均封装在对象中.
类实质上定义了一种对象类型,它是具有相似行为的对象的一种抽象, 类实质上定义了一种对象类型,它是具有相似行为的对象的一种抽象 描述了属于该类型的所有对象的性质—统一的属性和统一的操作模式 统一的属性和统一的操作模式. 描述了属于该类型的所有对象的性质 统一的属性和统一的操作模式. 对象是在程序执行过程中由其所属的类动态生成的, 对象是在程序执行过程中由其所属的类动态生成的,一个类可以生成 多个不同对象,对象也被称作类的实例. 多个不同对象,对象也被称作类的实例.同一个类的所有对象有相同的 性质.但一个对象的内部状态只能由其自身修改, 性质.但一个对象的内部状态只能由其自身修改,任何别的对象都不能 修改它.因此,同一个类的对象虽然在外部表现形式上相同,但可以有 修改它.因此,同一个类的对象虽然在外部表现形式上相同, 不同的内部状态,即不同的属性值. 不同的内部状态,即不同的属性值.
2.继承性: 继承性: 继承性 Java中的类组成一个层次结构:一个类之上的类称为父类,下层的类 中的类组成一个层次结构: 中的类组成一个层次结构 一个类之上的类称为父类, 称为子类.这种层次结构的一个重要性质就是继承性. 称为子类.这种层次结构的一个重要性质就是继承性.父类可以产生子 子类可以继承父类中的属性和方法,且这种继承具有传递性. 类,子类可以继承父类中的属性和方法,且这种继承具有传递性.一个 类可以继承其上层的全部父类中的属性和方法.这样某个类的对象除了 类可以继承其上层的全部父类中的属性和方法. 具有这个类所描述的性质外, 具有这个类所描述的性质外,还具有类等级中该类的上层的全部父类所 描述的一切性质. 描述的一切性质. 在面向对象的继承特性中,还有一个单重继承和多重继承的概念.单 在面向对象的继承特性中,还有一个单重继承和多重继承的概念. 重继承是指一个类只有一个单一的父类.多重继承是指一个类可以有一 重继承是指一个类只有一个单一的父类. 个以上的父类. 不支持多重继承, 个以上的父类.Java不支持多重继承,但可以通过一个类实现多个接口 不支持多重继承 的方法来完成多重继承的功能. 的方法来完成多重继承的功能. 类的继承的好处:利用了代码的可重用性, 类的继承的好处:利用了代码的可重用性,减少了程序中的冗余信息
属性的说明: 属性的说明: [修饰符 变量的数据类型 变量名 =初始值 ; 修饰符] 变量名[=初始值]; 修饰符 [修饰符 修饰符] 对象名[= 类名([参数列表 参数列表])]; 修饰符 类名 对象名 =new 类名 参数列表 ; 类的属性修饰符有访问控制符, 类的属性修饰符有访问控制符,static,final,volatile,transient , , , 方法的说明: 方法的说明: [修饰符 返回值类型 方法名 形参说明 修饰符] 方法名([形参说明 形参说明])[throws 异常 ,异常 ,…]{ 异常1,异常2, 修饰符 局部变量说明; 局部变量说明; 执行语句组; 执行语句组; } 类的方法修饰符包括:访问控制符,static,final,synchronous,native 类的方法修饰符包括:访问控制符, , , 返回值可以是简单变量也可以是复合对象,若无返回值,则用void 返回值可以是简单变量也可以是复合对象,若无返回值,则用 方法的名字最好体现方法的功能,常采用动词加宾语的形式 常采用动词加宾语的形式,首字母小写 方法的名字最好体现方法的功能 常采用动词加宾语的形式 首字母小写 形参表示要传递到方法体内的变量,形参可以有多个,也可为空; 形参表示要传递到方法体内的变量,形参可以有多个,也可为空;形参 可以是简单的数据类型,也可以是复杂数据类型; 可以是简单的数据类型,也可以是复杂数据类型;对于复杂数据类型的 参数对象,传递的是对象在内存中的地址. 参数对象,传递的是对象在内存中的地址.
4.2.2 修饰符 1.访问控制符 访问控制符 包的概念:包由一组类组成,它如同文件夹一样将各种类组织在一起.包 包的概念:包由一组类组成,它如同文件夹一样将各种类组织在一起 包 中的类没有严格的某种关系, 中的类没有严格的某种关系,只是为了方便管理而将它们放在一个包中 访问控制符规定了类,属性和方法可以被程序的哪些部分访问和调用 访问控制符规定了类, (1)类访问控制符:public和默认形式 类访问控制符: 类访问控制符 和默认形式 public:公共类,表示它能被其他的任何类访问.一个包中的类相互 :公共类,表示它能被其他的任何类访问. 可见,可以互相访问, 可见,可以互相访问,但不在同一个包中的类相互间是不可 见 若要访问,则需要用import将该类引入 但引入的必须是 将该类引入,但引入的必须是 的.若要访问,则需要用 将该类引入 public类.另外,含有 类 另外,含有main( )方法的类必须是公共类 方法的类必须是公共类 默认:表示该类只能被同一个包中的类访问,而不可以被其他包中的 默认:表示该类只能被同一个包中的类访问, 类访问.即使用import引入,也不可以. 引入, 类访问.即使用 引入 也Leabharlann Baidu可以. (2)属性方法访问控制符 属性方法访问控制符: 属性方法访问控制符 public,private,protected,private protected,默认 默认 public:修饰的属性和方法是公共的属性和方法,若类也是 修饰的属性和方法是公共的属性和方法, 修饰的属性和方法是公共的属性和方法 若类也是public,则 则 这 些属性和方法可以被所有的类访问. 些属性和方法可以被所有的类访问.由于面向对象设计中的封 装性的要求,公共的属性应尽量减少 可通过公共的方法间接访问 装性的要求 公共的属性应尽量减少,可通过公共的方法间接访问 公共的属性应尽量减少
4.2.1 类的定义 格式: 修饰符 修饰符] 父类名] 接口名]{ 格式:[修饰符 class 类名 [extends 父类名 [implements 接口名 类属性声明; 类属性声明; 类方法声明; 类方法声明; } 说明:(1)class表示类定义开始,类名第一个字母通常大写 表示类定义开始, 说明 表示类定义开始 (2)修饰符用来说明类的特殊性质,分为访问控制符和类型说明符, 修饰符用来说明类的特殊性质, 修饰符用来说明类的特殊性质 分为访问控制符和类型说明符, 访问控制符用来说明类能被哪些对象引用(public),类型说明符有 访问控制符用来说明类能被哪些对象引用 类型说明符有 abstract和final,表示抽象类和最终类 和 , (3)关键字 关键字extends表示继承,后面跟一个父类名 表示继承, 关键字 表示继承 (4)关键字 关键字implements表示该类实现了接口,一个类可以实现多个 表示该类实现了接口, 关键字 表示该类实现了接口 接口, 接口,接口使得类可以实现多重继承
4.2 类 类是Java中最基本的复合数据类型,是组成Java程序的 中最基本的复合数据类型,是组成 类是 中最基本的复合数据类型 程序的 基 本要素.创建一个新类就是创建一个新的数据类型, 本要素.创建一个新类就是创建一个新的数据类型,实例化 一个类就得到一个对象. 一个类就得到一个对象 类有两种基本成分:属性和方法, 类有两种基本成分:属性和方法,又称成员变量和成员方 法. 类的成员变量可以是基本数据类型或数组, 类的成员变量可以是基本数据类型或数组,也可以是复合 数据类型. 数据类型. 类的方法用于处理该类的数据, 类的方法用于处理该类的数据,类中的方法与其他语言中 函数的区别:Java中的方法只能是类的成员,只能在类中定 中的方法只能是类的成员, 函数的区别 中的方法只能是类的成员 义.
4.1.3 消息和方法 对象之间进行交互时,通过消息来实现. 对象之间进行交互时,通过消息来实现. 构成消息的三个要素: 构成消息的三个要素: (1) 接收消息的对象 (2) 接收消息的方法 (3) 方法所需要的参数 4.1.4 面向对象编程的基本特征 1.封装性: 封装性: 封装性 封装"是一种组织开发软件的方法, "封装"是一种组织开发软件的方法,其基本思想是把客观世界中联 系 紧密的元素和相关操作组织在一起,使其相互关系隐藏在程序体内部, 紧密的元素和相关操作组织在一起,使其相互关系隐藏在程序体内部, 而对外仅仅表现为与其他封装体之间的接口. 而对外仅仅表现为与其他封装体之间的接口. 在面向对象的程序开发中,每个类都封装了相关的数据和操作.另外, 在面向对象的程序开发中,每个类都封装了相关的数据和操作.另外 在Java中,包的概念也体现了封装性,包将一组相关的类封装在一起. 中 包的概念也体现了封装性,包将一组相关的类封装在一起. 类的封装性使得代码的可重用性大为提高. 类的封装性使得代码的可重用性大为提高.使用者不用知道实现的细 只需要用设计者提供的消息来访问该对象(公共的方法). 节,只需要用设计者提供的消息来访问该对象(公共的方法).
private:私有访问控制符,经它修饰的属性和方法只能被类自身的方法 私有访问控制符, 私有访问控制符 访 问和使用,它对属性和方法进行了最高级别的保护 它对属性和方法进行了最高级别的保护.多数用来修饰 问和使用 它对属性和方法进行了最高级别的保护 多数用来修饰 属性,其他类需通过该类中的公共方法来访问这些属性 其他类需通过该类中的公共方法来访问这些属性.这些公共 属性 其他类需通过该类中的公共方法来访问这些属性 这些公共 的方法为这些属性提供了一个统一的接口,体现了面向对象思想 体现了面向对象思想. 的方法为这些属性提供了一个统一的接口 体现了面向对象思想. protected:保护访问控制符 它修饰的属性和方法比 保护访问控制符,它修饰的属性和方法比 保护访问控制符 它修饰的属性和方法比private修饰的有较大 修饰的有较大 的可见域,可以被同一个包中的其他类 可以被同一个包中的其他类,不同包中的子类以及该类 的可见域 可以被同一个包中的其他类 不同包中的子类以及该类 自身访问和引用,主要是为了让子类能够方便地访问父类 自身访问和引用 主要是为了让子类能够方便地访问父类 private protected:私有保护访问控制符 只能被该类自身和子类访问和 私有保护访问控制符,只能被该类自身和子类访问和 私有保护访问控制符 引用.既保证了子类对父类访问的方便性 又提高了使用的安全性. 既保证了子类对父类访问的方便性, 引用 既保证了子类对父类访问的方便性,又提高了使用的安全性. 默认: 只能被同一个包中的其他类访问和引用 包 默认: 修饰符 类自身 子类 不同包非子类
3.多态性: 多态性: 多态性 多态是指通过方法重写, 多态是指通过方法重写,一个类可以具有多个相同名字的 方法,由参数个数和类型对它们加以区分.通过方法重写, 方法,由参数个数和类型对它们加以区分.通过方法重写, 子类可以重写父类的某些方法,使其具有自己的特征. 子类可以重写父类的某些方法,使其具有自己的特征.重写 可以隐藏父类的方法,使子类具有了自己的具体实现. 可以隐藏父类的方法,使子类具有了自己的具体实现. 父类和子类可以有相同名字的属性和方法, 父类和子类可以有相同名字的属性和方法,在程序的执行 期间,对对象某一属性的查找是从该对象类所在层次开始, 期间,对对象某一属性的查找是从该对象类所在层次开始, 沿着类等级逐渐向上进行的, 沿着类等级逐渐向上进行的,把第一个找到的属性作为所要 的属性.因此,底层可以屏蔽高层的属性. 的属性.因此,底层可以屏蔽高层的属性.
4.1.2 类与对象 在面向对象程序设计中,对象是程序的基本单位, 在面向对象程序设计中,对象是程序的基本单位,相似的对象之间的 关系就像是相同类型的不同变量. 关系就像是相同类型的不同变量.这些相似的对象可以通过一个类将它 们抽象出来,在类中定义它们共同的属性和方法. 们抽象出来,在类中定义它们共同的属性和方法.