《类继承多态》PPT课件.ppt

《类继承多态》PPT课件.ppt

ID:52100081

大小:404.34 KB

页数:44页

时间:2020-03-31

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

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

1、面向对象的程序设计第三章类1作业问题:类的成员是类对象(p1451,3)MyRecttangleintxUp,yUpIntxDown,yDownMyRecttangle()MyRecttangle(intxUp,….)getW()getH()area();toString()MyCubeMyRecttanglerectintdMyCube(MyRecttanglerect,intd)getVolume();getSurfaceArea();23.3.3子类对父类构造方法的调用p127子类构造函数:无参数:先调用父类无参数的构

2、造函数;有参数:若无super(参数),先调用父类无参数的构造函数;若有super(参数),不会调用父类无参数的构造函数。3目标继承多态抽象类、抽象方法4一、类的继承Java最令人心动的特性就是它的代码复用了。代码复用有两种方式1、类的包含关系当一个类定义中包含另一个类的实例时,就是类的包含关系,通常称为“HAS-A(拥有A)”。2、类的继承关系在面向对象的程序设计中,“IS-A”称为继承关系。5HAS-A汽车发动机车轮方向盘IS-A水果苹果梨香蕉苹果富士苹果6继承(Inheritance)指一个类(Class)可以继承其它

3、类的所有内容,包括变量和方法。被继承的类称为父类或者超类(Superclass),继承后产生的类成为子类或者派生类(Subclass)。7继承(Inheritance)利用extends创建子类[修饰符]class子类名extends父类名{语句体}不使用extends的继承如果没有使用extends,则该类为java.lang.Object的子类注意:在Java语言中,所有的类都是由Object类派生出来的,比如前面介绍的String类,以及用户自己新建的类。表示继承关系8继承注意事项:Java中,每一个类只可以有一个父类

4、,即单继承;一个类可以有多个子类。父类含有其所有子类共同的内容,每一个子类各自具有与其他子类不相同的内容。子类可以添加自己的成员变量和方法一、类的继承Emoloyee类:namesexWorker类:categorydressAllowanceOfficer类:empClassvehicle工人类,继承了父类的姓名和性别属性外还包含类别和是否有服装津贴属性主任类,还包含级别和是否配备交通工具属性职员类,具有姓名和性别两个属性9继承中的访问权限如果父类中的变量和方法为public、protected,其子类中的这些变量和方法依

5、然为public、protected子类不能访问父类中权限为private的实例变量和实例方法例class_extend_exsampleextend_exmanagerTestSuperTestSuper.java(Empolyee.java,Manager.java)10继承的访问权限:同一个类同一个包子类全局privateydefaultyyprotectedyyypublicyyyy一、类的继承11类继承的传递性类继承具有传递性,也就是说子类具有其父类和父类的父类,一直到Object类的所有类的内容。比如,B

6、类继承了A类,而C类又继承了B类,则C类包含A类和B类的几乎所有内容。父类成员变量的隐藏和方法的覆盖12子类中父类成员变量的隐藏:子类的成员变量与父类的成员变量同名,则在子类中父类中的成员变量被隐藏,当子类中的变量名与父类的相同,原来的变量被遮盖;可使用super.变量名引用父类变量例class_extend_exsampleextend_exmanagerThreeClass.java13方法覆盖(overriding):子类中定义的方法和祖先类中某个方法同名,同参数行,(即子类可以改写父类方法所实现的功能),则父类

7、中的该方法被覆盖。子类可使用super.方法名引用父类方法。子类中重写的方法必须与父类方法有:相同的名字、相同的参数表、相同的返回类型。14实例:extend_exsampleextend_ex类的UML图protected:被子类及同一个包内的点(坐标x,y)其他类访问圆(圆心、半径)TestMyCircleMain()一、类的继承setRadius();getRadius();getArea();toString();MyPointprotectedintxprotectedintysetX();getx();setY

8、();getY();toString()MyCircleprotectedintradiusMyCircle()MyCircle(x,y,radius)15例如父类:MyPoint类publicStringtoString(){return"("+x+","+y+""+")";}子类Myc

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

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

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