Java.
继承是面向对象编程中最重要的特征之一。它允许通过继承一个已经存在的类,来编写一个新类。本章将学习如何理解和实现继承,包括”is a”关系、extends关键字、Object类、方法重写、super关键字以及继承如何影响构造器。
7.1继承的起源
在面向对象编程中,可以通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类,这种方式称为继承(Inheritance)。
已有的类称为父类,而新类称为子类。父类也可以称为基类、超类,子类也可以称为派生类。这些术语可以互换,但是意思是相同的。
继承可以说是面向对象编程最重要的特征之一。
如果使用继承,雇员的共同特征出现在一个父类中。每个不同的类型用一个子类代表。当需要一个新类型的雇员时(例如,合同工),通过继承父类编写一个新的子类。这样,已经写好的代码就不用再修改了。
这种好处在结构化编程以及糟糕的OOP设计中是很难达到的。在面向对象编程中,为避免上面所出现的问题,我们需要根据一个简单的规则不断地测试我们的设计:一个对象“有(has a)”一个属性,一个对象“执行(does)”一个行为。
在我们的员工发工资示例中,如果一个员工“有”年薪是不正确的,那么Employee类就不应该有salary成员变量,我们必须重新设计我们的程序。
我们需要认识到,虽然员工都是我们的问题域中的对象,但是实际上有两种不同类型的员工对象:拿年薪的员工和按计时付酬的员工。因此,我们需要编写两个类Salary和Hourly,分别代表这两种类型的员工。其中,Salary类必须有成员变量可以代表员工的年薪,Hourly类必须有成员变量可以代表员工的每小时报酬以及工作的小时数。
day08
最新推荐文章于 2024-08-04 21:47:22 发布