《继承和多态上》PPT课件.ppt

《继承和多态上》PPT课件.ppt

ID:52372336

大小:542.06 KB

页数:41页

时间:2020-04-05

《继承和多态上》PPT课件.ppt_第1页
《继承和多态上》PPT课件.ppt_第2页
《继承和多态上》PPT课件.ppt_第3页
《继承和多态上》PPT课件.ppt_第4页
《继承和多态上》PPT课件.ppt_第5页
资源描述:

《《继承和多态上》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Java语言概述1第六讲继承和多态(上)西亚斯学院计算机系姜斌2011年Java语言概述2课堂内容一、继承的概念1、继承涵义2、继承定义,父类和子类定义3、继承例子二、类库继承例子1、Object类2、例子三、扩展类1、继承关系的语法定义2、属性继承和隐藏3、方法继承,覆盖和重载*4、子类中构造函数的使用四、Abstract继承一、继承涵义和定义1、涵义继承(Inheritance):三大特性之一类之间的继承关系是现实世界中遗传关系的直接模拟,一方面,它表示类之间的扩展性的联系以及对属性和操作的共享,即子类可以沿用父类(被继

2、承类)的某些特征。另一方面,子类也可以具有自己独立的属性和操作1、涵义事物之间最基本联系:1)“ISA”关系继承是一个“ISA”关系有时也称为“普通”和“特殊”的联系新扩展出来的类是原有类的某一个特例,可有一个或多个子类或扩展类存在继承关系+move()-name:String-age:Integer-Color:String-Sex:CharAnimal+climb()+jump()feetNum-Cat+fly()wingNumBirdJava语言概述6组合关系2)“HASA”关系一个事物所具有其他事物其他事物是其组成部

3、分,这种一般称为“组合”或“聚合”关系(要和继承区别开)Java语言概述72、继承定义继承性是指一个新的类继承原有类的基本特性,并增加新的特性;原有类称为父类或基类,新的类称为子类或扩展类。特征:软件复用的一种形式。新类由已存在的类生成,可以不去从头去定义一个新类;如果子类只从一个父类继承,则称为单继承;如果子类从一个以上父类继承,则称为多继承(在java中没有多继承,类似结构通过接口实现)。继承关系是可以传递的,如左图,E继承C,而C继承A,因而E也继承了A,所以E也是A的子类,是间接子类,C是A的直接子类ClassCex

4、tendsAClassFimplementsC,D;ClassEimplementsB,D(C,B,D为接口类)Java语言概述93、继承例子例3,飞机、汽车和轮船可归于交通工具类,飞机/汽车/轮船可以继承交通工具类某些属性和操作,所以交通工具和飞行器/汽车/轮船之间是继承关系例2,企业中员工可以有不同特殊员工,如经理是特殊的员工,所以,员工和经理类之间是继承关系例1,动物有不同种类,例如:猫科类和鸟类,所以,动物和猫/鸟之间是继承关系二、类库继承例子Java语言概述111.Object类-类中的“黄帝”是一个特殊的类,所有

5、类(包括类库中的和用开发者创作的类都属于其子类,并继承其内容)Object类是所有类的根.每个类都以它来作为超类,所有的类,包括数组(arrays),都可实现覆盖Object类中的方法.每个类都隐藏地扩展了此类,即等同于在类地声明时加入,“extendsObject”Java语言概述12Object类的方法常用的方法:StringtoString()--输出关于对象的描述信息,可以被覆盖返回对象的字符串表示。Object的方法返回一个字符串、包含该对象的类名、一个@字符和实例散列码(哈希)的十六进制表示。protectedO

6、bjectclone()创建并返回此对象的一个副本。(在子类中不要依赖Object的这个方法。)booleanequals(Objectobj)指示某个其他对象是否与此对象“相等”。(在子类中不要依赖Object的这个方法。)protected voidfinalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。ClassgetClass()返回一个对象的运行时类。InthashCode()返回该对象的哈希码值。2、类库类的继承特例由于所有类都是由继承java.lang.Object而来,所

7、以类库的类都是Object的类的直接或间接子类。例如:java.lang.String直接继承Objectjavax.swing.JOptionPane间接继承Obejct用户自定义类也直接或间接继承Object3、定义思考我们定义的飞机类Plane,其实隐含继承ObjectclassPlane[extendsObject]//系统在编译时自动执行例如可以在Plane类中我们定义有toString方法,这个实际继承了覆盖了父类Object同名方法;方法为:publicStringtoString(){return("spee

8、dis:"+speed+"lookis:"+look);}思考:如果我们不定义这个方法会怎么样三、继承的实现–定义扩展类Java语言概述17父类名跟在extends关键字后面,用来说明当前类是哪个已经存在类的子类,存在继承关系。定义顺序:1)定义父类“动物类”Animal;2)然后定义

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。