欢迎来到天天文库
浏览记录
ID:57057887
大小:191.00 KB
页数:17页
时间:2020-07-30
《Java上第七章 继承和多态课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章继承和多态学习目标理解类与类之间的关系,熟练使用继承创建类。理解多态的含义,能够通过编码体现出动态绑定。熟练运用类型转换的功能。类与类之间的关系在现实世界中,很多类之间是有关系的,主要有下列三种。isa:继承关系hasa:聚合关系usea:依赖关系继承-1继承就是在现有类的基础上创建新的类,能够体现代码复用。在继承关系中,通常父类具有某种一般性,子类具有某种特殊性。继承-2通过继承可以让子类复用父类的代码,同时又允许子类添加自己特有的属性和行为。语法:[修饰符]class子类名称extends父类名称{}例如:publicclass
2、StudentextendsPerson{}继承-3Java规定,一个子类只能有一个父类,叫做单一继承,Java不支持多重继承。注意:如果定义类时不写extends关键声明继承关系,则系统默认继承Object类。Object类是java中最上层的根类。继承-4定义子类成员变量时,有三种可能:1、没有定义子类特殊成员。2、定义与父类同名成员。3、定义子类特有成员。练习:为Student类中加入一个学生特有的属性。继承-5定义子类构造方法时用super调用超类构造方法,当构造方法第一句不是用this调用本类其它的构造方法,或者不是用super
3、调用超类的构造方法,则系统会默认调用super()。练习:为Student类中加入两个构造方法。继承–6定义子类成员方法时:一是定义子类特有的行为,二是覆盖父类的行为。覆盖:Overriding注意:JDK1.5可用“协变返回”来对返回值定义。即:父类方法返回Person,子类在覆盖时可以返回Student。练习:为Student类中加入两个成员方法,一个是子类特有的,一个是覆盖父类的。多态–1“isa”规则表明子类的每个对象都应是父类的对象。如本单元前面“交通工具继承图”所示,每辆卡车都是一辆汽车。因此,把卡车类设计为汽车类的子类是有意
4、义的。自然,反过来就不行,并不是每辆汽车都是一辆卡车。多态–2另一个明确叙述“isa”规则的方法是替代原则。该原则规定:无论何时,只要程序需要一个超类对象,那么就可以用一个子类对象来替代它。例如:Personp=newStudent("wang",20,100);多态–3多态:一种对象多种形态。范例解析:Personp1=newStudent("wang",20,100);Personp2=newPerson("zhao",22);p1.walk();//调用Student类中的walk方法p2.walk();//调用Person类中的w
5、alk方法类型转换在前面的单元中,把一个浮点数强制转换成int型的过程被称为“类型转换”。同样,类型转换还可以用在对象上,使用时注意:类型转换必须在继承层次内进行,且只能将子类对象的引用转为父类对象的引用,不能将父类对象的引用转成子类对象的引用。范例解析Personp1=newPerson("wang",20);Personp2=newStudent("zhao",22,101);Students=newStudent("wang",20,100);Studentx1=(Student)p1;//错误Studentx2=(Student)
6、p2;//正确Personx3=(Person)x2;//正确Personx4=(Person)s;//正确Studentx5=(Student)x4;//正确Instanceof运算符语法:对象变量instanceof类名上面的语法是一个表达式,返回值是布尔型。其意义是:如果运算符左侧的变量是运算符右侧的类的一个实例,则表达式的值为true,否则为false。注意:只有存在继承关系的类和对象之间才可以使用instanceof运算符进行检查判断。小结本单元内容简要讲述了类与类之间三种关系:继承、聚合、依赖,我们重点讲述了继承的关系。学习的
7、过程中,不仅要了解继承的概念,还要熟练的使用。多态是Java语言的一大特性,可以说Java语言中所有对象的访问都是按照多态的模式进行的,关键要理解运行时绑定。类型转换是运用多态时的一个重要的知识点,特别是instanceof运算符,要熟练使用。谢谢!
此文档下载收益归作者所有