Java面向对象实验:继承与封装——模拟人群特性

需积分: 0 0 下载量 93 浏览量 更新于2024-08-03 收藏 121KB DOCX 举报
"实验7 继承与封装.docx - 面向对象程序设计(JAVA)实验" 在Java编程中,继承与封装是面向对象编程的两大核心概念。本实验旨在帮助学生深入理解和掌握这两个概念,并通过实际操作来提升编程技能。 首先,继承允许我们创建一个新类(子类),该类继承自另一个类(父类),从而继承父类的属性和方法。在实验中,`People` 类被定义为基本的类,它具有两个 protected 变量 `height` 和 `weight`,以及三个公共方法 `speakHello()`, `averageHeight()` 和 `averageWeight()`。protected 关键字使得这些变量和方法在同一个包内的其他类中可见,但对包外的类不可见,这确保了数据的安全性。 接着,`ChinesePeople` 和 `AmericanPeople` 类作为 `People` 类的子类,它们继承了 `People` 类的所有属性和方法。根据面向对象的原则,子类可以扩展或修改父类的行为。因此,这两个子类都重写了 `speakHello()`, `averageHeight()` 和 `averageWeight()` 方法,以适应各自的文化特征,比如 `ChinaPeople` 添加了 `chinaGongFu()` 方法,而 `AmericanPeople` 添加了 `americanBoxing()` 方法。 进一步地,`BeijingPeople` 类继承自 `ChinesePeople` 类,它添加了 `beijingOpera()` 方法,并同样重写了父类的三个方法,这展示了多级继承的概念,即一个类可以继承另一个继承类的特性。 实验还涉及到了封装,这是面向对象的重要特性。封装意味着将数据和行为绑定在一起,并隐藏实现细节,只对外提供接口进行交互。在实验的 `Employee` 和 `Manager` 类中,`Employee` 类包含 `name`, `salary` 和 `address` 三个属性,它们可以通过构造方法进行初始化,而 `show` 方法用于显示这些属性的值。`Manager` 类作为 `Employee` 的子类,可能添加了特定于经理的属性和方法,同时继承并可能修改了 `Employee` 类的行为。 通过这个实验,学生将学习如何使用 `this` 和 `super` 关键字。`this` 关键字用于引用当前对象,而 `super` 关键字则用来访问父类的方法或属性,例如在子类中调用父类的构造函数或者重写的方法。 总结来说,这个实验不仅让学生练习了 Java 类的定义、继承和方法重写,还让他们了解了如何通过封装来保护数据,以及如何使用 `this` 和 `super` 关键字来优化代码结构。这些都是 Java 面向对象编程的基础,对于进一步学习和开发复杂的软件系统至关重要。