网站大量收购独家精品文档,联系QQ:2885784924

Java面向对象——多态.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java面向对象——多态

面向对象——多态 微软IT学院 任务回顾 长方形类Rect w,l,Rect(),Rect(w,l),area() 长方体类Cube h,Cube(),Cube(w,l,h),area(),vol() 面向对象(OO)三大特性 封装Encapsulation 继承Inheritance 多态Polymorphism 多态 多种形态,构建在封装和继承的基础之上。 父类型的引用可指向子类的实例/对象。 利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行通用的处理。 对象类型的转换 向上转型:子类对象看作是父类对象。由于向上转型是从一个具体的类到抽象的类之间的转换,所以总是安全的。 向下转型:将父类对象强制转换为某个子类对象—显示类型转换。在程序中使用向下转换技术时,必须使用现实类型转换,向编译器指明将父类对象转换为哪一个子类对象。 多态 使用动态多态编程的前提:①存在一个层次结构;②子类对父类的某些方法进行了重写,子类的某些行为与父类不完全相同;③基于父类类型对象进行编程。 动态多态赖以实现的机制是动态绑定,即在运行时才决定具体调用的是谁。 多态 在实际问题中,并不需要将父类初始化对象,只需要子类的对象。 在设计时并不依赖于具体的类,而是依赖于抽象,Java中在实现多态时,可以让程序依赖于抽象类或接口。 抽象类(Abstract Class) 抽象类是拥有未实现的方法的类,所以它不能被用来生成对象,只能被继承扩展,并于继承后实现未完成的抽象方法。 在Java中声明抽象方法与抽象类,要使用abstract关键字。 如果子类没有实现抽象父类的方法,那么子类也必须是抽象的。 static、private、final方法不能是抽象的,因为这些类型的方法是不能被覆盖的。 接口—定义 接口是常量和抽象方法的集合,是所有实现接口的子类的“协议”与“规范”。 使用关键字interface定义接口,结构类似于类的结构。书102 接口中定义的方法默认修饰符为:public abstract。 如果接口中定义了属性,默认为:public static final类型,通常大写形式。 接口—定义 interface InterfaceDemo{ int VALUE=10; void method(); } 任务:定义一个接口,图形shape,求面积方法 接口—实现 实现接口是指在接口的某个派生类中为接口的抽象方法编写具体的方法实现体,用implements关键字实现接口。一个类可以实现多个接口 Class 类 impulements 接口1,接口2,… 实现接口中方法时,必须将方法访问控制符定义为public类型。 如果实现接口的类不是抽象类,则必须实现接口所有方法。 Shape Cricle Rectangle 接口的继承 接口可在现有接口基础上派生出新的接口——接口的继承。 任务:将图形区分为二维图形shape2D、三维图形shape3D;二维图形除了有求面积的方法,还有求周长perimeter的方法,三维图形除了有求表面积的方法,还有求体积volume的方法。 Shape Shape2D Shape3D Circle Cube 接口的继承 接口的继承与类的继承一样,使用关键字extends实现。区别在于:接口可以同时从多个接口中继承。 interface SubInterface extends SupI1,SupI2{…} 接口与继承 Class 类 extends 父 implements 接口1,接口2…

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档