1、面向对象高级技术(1)类的继承本单元教学内容n理解继承的基本概念n使用extends实现继承n类成员的继承规则n子类对父类的扩展 几个实例学生人公司雇员中学生大学生经理普通员工轮船客轮货轮1、讨论:图所表示的关系2、轮船客轮的关系示例(共性与个性)3、列举其它的类似关系父类(或基类、超类)子类(或派生类)考察以下例子n货车:q属性:车牌号、车类型、购车价格、出租单价、出租里程数、吨位数、租金。q方法:租金计算等。n大客车:q属性:车牌号、车类型、购车价格、出租单价、出租里程数、出租小时数、坐位数、租金。q方法:租金计算等。n小轿车:q属性:车牌号、车类型、购车价格、出租单价、出租里程数、出租天
2、数、租金。q方法:租金计算等。各类车之间的关系图示父类(或基类、超类)子类(或派生类)继承的语法n编程例41n继承的语法q使用关键字extendsq格式:class SubName extends SupName如:class Manager extends Empoyee成员属性与成员方法的继承规则父类父类 publicdefaultprotectedprivate同一包中子同一包中子类类publicdefaultprotected不被继承不被继承扩展子类、编程实践n扩展子类q为子类添加新的成员属性;q为子类添加新的成员方法;n调试例42q编写Truck2、Bus2、Car2类q编写Truc
3、k2、Bus2、Car2类的测试程序实战演习n1.创建一个具有确定位置矩形类PlainRect,该类继承于第三章中例3_4中的类Rect2,其确定位置用矩形的左上角坐标来标识,为该类添加:n两个属性两个属性:矩形左上角坐标startX和startY。n一个方法一个方法:方法isInside(double x,double y)。用于判断某个点是否在矩形内部,如在矩形内,返回true,否则,返回false。n2编写上题PlainRect类的测试程序n(1)创建一个左上角坐标为(10,10),长为20,宽为10的矩形对象;n(2)计算并打印输出矩形的面积和周长;n(3)判断点(25.5,13)是否在矩形内,并打印输出相关信息。分析与讨论衬衣与裙子类具有许衬衣与裙子类具有许多相同的属性,能否多相同的属性,能否将它们看成一种继承将它们看成一种继承关系?关系?深入理解继承概念n面向对象中的继承是一个基于分类学的概念,继承描述的是一种“is a”的关系。子类是父类在同一个分类分支上的一个更为特殊的类,只有当类之间存在的是一种能够被描述为:“子类 is a 父类”的时候,我们才使用继承。n因此,在面向对象程序设计中,Skirt与Shirt类不能表示为一种继承关系。添加抽象服装衬衣裙子