JAVA类的继承和派生.ppt
《JAVA类的继承和派生.ppt》由会员分享,可在线阅读,更多相关《JAVA类的继承和派生.ppt(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、JAVA JAVA 类的继承和派生类的继承和派生Inheritance/extends/derive继承的概念和软件的重用性继承的概念和软件的重用性n继承是从已有的类中派生出新的类。n新的类能吸收已有类的数据属性和行为;n并能扩展新的能力。n类和类之间的继承关系可以用UML符号表示如图5-1,n父类又叫超类或基类,n子类又叫派生类。n父类是子类的一般化,子类是父类的特化(具体化)。超类或基类父类子类派生类图5-1 继承关系super/base/parentchild/derived 继承的概念和软件的重用性继承的概念和软件的重用性n如表所示,列出了几个超类和子类的实际例子。超类或基类父类子类派
2、生类图5-1 继承关系超 类子 类学生研究生、本科生、小学生形状三角形、圆、矩形雇员教师、医生、职员交通工具轿车、卡车、公交车水果苹果、梨、桃、桔表继承例子表继承例子n“is-a”关系:是类之间的继承的关系。n“has-a”关系:代表类之间的组合(参见4.9节)。继承的概念和软件的重用性(续)继承的概念和软件的重用性(续)n继承分为:n单继承:指一个子类最多只能有一个父类。n多继承:一个子类可有二个以上的父类。Java类只支持单继承,而接口支持多继承。类只支持单继承,而接口支持多继承。Java多继承的功能则是通过接口方式来间接实现的。继承的概念和软件的重用性(续)继承的概念和软件的重用性(续)
3、objectWinDialogWin单继承,in javaClass 1Class 4Class 2Class 3多继承多继承,in C+单继承与多继承例子单继承与多继承例子继承的概念和软件的重用性(续)继承的概念和软件的重用性(续)n继承使软件的代码得到重用。提高系统效率。n在继承关系中,n子类通过吸收已有类的数据(属性)和方法(行为)n并增加新功能或修改已有功能来创建新类。nObject类:定义和实现了Java系统所需要的众多类的共同行为,它是所有类的根类,所有的类都是由这个类继承、扩充而来的。派生类的定义派生类的定义n派生类定义的一般格式为:类修饰符 class 子类名 extends
4、父类名 成员变量定义;成员方法定义;派生类的定义中,用关键字extends来明确指出它所继承的超类。n例5-1 通过继承来定义派生类派生类的定义(续)派生类的定义(续)class Automobileint Number;void setNumber(int Num)Number=Num;void showNumber()System.out.println(Automobile number:+Number);超类派生类的定义(续)派生类的定义(续)class Truck extends Automobileint capacity;void setCapacity(int truckCap
5、acity)capacity=truckCapacity;void showCapacity()System.out.println(Truck Capacity:+capacity);派生类派生类的定义(续)派生类的定义(续)class AutomobileExtendspublic static void main(String args)Truck tc=new Truck();tc.setNumber(8888);tc.setCapacity(10);tc.showNumber();tc.showCapacity();该程序运行的结果为:Automobile number:8888Tr
6、uck Capacity:10 派生类使用从超类中继承的方法setNumber派生类使用从超类中继承的方法showNumber作用域和继承作用域和继承n第4章讨论了成员访问控制修饰符:public、private、package和protected。n超类public的成员可以在超类中使用,也可以在子类使用,程序可以在任何地方访问public超类成员。n超类的private成员仅在超类中使用,在子类中不能被访问。n超类protected成员,可在子类和同一包内其他类被访问。n超类package成员,可在同一包内其他类被访问。n子类从超类中继承成员时,超类的所有public和protected成
7、员在子类中,都保持它们原有的访问修饰符。例如,超类的public成员成为子类的public成员。超类的protected成员也会成为子类的protected成员。子类只能通过超类所提供的非private方法来访问超类的private成员。方法的重新定义方法的重新定义(overriding)n如果在子类中定义的某个方法与父类的某个方法有相同方法署名(方法头),则称子类重新定义(overriding)了父类的该方法,或称重写或覆盖。n子类的对象调用这个方法时,将使用子类中定义的方法,对它而言,父类中定义的方法就“看不见”了。n如要在子类的方法中要使用超类的这个被重写的方法,用:super.超类同名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 继承 派生
限制150内