Java程序设计与应用 张仕斌 第5章

Java程序设计与应用 张仕斌 第5章

ID:40238746

大小:1.72 MB

页数:82页

时间:2019-07-28

Java程序设计与应用 张仕斌 第5章_第1页
Java程序设计与应用 张仕斌 第5章_第2页
Java程序设计与应用 张仕斌 第5章_第3页
Java程序设计与应用 张仕斌 第5章_第4页
Java程序设计与应用 张仕斌 第5章_第5页
资源描述:

《Java程序设计与应用 张仕斌 第5章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章类的重用学习目的:掌握类的继承及Object类掌握终结类及终结方法掌握抽象类理解类的组合熟悉常用内置包学习重点:掌握类的继承与组合掌握抽象类及内置包2021/7/162第五章类的重用本章提要:类的继承及Object类终结类及终结方法抽象类继承与组合常用包2021/7/1635.1类的继承5.1.1继承的概念继承是由已有的类创建新类的机制,是面向对象程序设计的重要特征之一。一个新类可以从现有的类中派生,这个过程称为类继承。派生出的新类称为已有类的子类,已有类称为父类或超类。继承性很好地解决了软件的可重用性问题。通过继承,一个类可以用有已由类的所有功能。

2、因此,只需指明新类与现有类的不同,即增加自己的属性和方法即可。java要求每个类都有父类,当没有显式继承父类时,父类隐含为java.long包中的object类。一个父类可以同时拥有多个子类,此时这个父类实际上时所有子类的共有属性即方法的2021/7/164集合,而每一个子类则是父类的特殊化,是在公共属性的基础上的功能及属性的扩展和延伸。java不支持类的多重继承,只支持可的单继承,即每个子类只能有一个直接父类,类的层次结构为树状结构,object类为树的根节点。特别要注意的是:通常根据应用定义自己的类层次,在定义类的层次结构中,父类与子类的关系是一般于特

3、殊的关系,而不是整体与部分的关系,如图5-1、5-2所示。图5-1类层次结构图举例图5-2错误的类层次结构图2021/7/165与多重继承(相应的类结构为网状结构)相比,单继承比较简单,掌握、控制起来相对容易。Java虽然只支持单继承,但可通过接口来实现多继承功能。采用继承的机制来组织、设计系统的类,可以提高程序的抽象程度,使之更接近于人类的思维方式;采用继承还可以使编写的程序结构清晰,节省了编程时间;同时因为代码的编写量减少,也降低了程序维护的工作量。5.1.2继承的语法在java语言中,子类对父类的继承是在类的声明语句中实现的。前面提到类声明语句如下:

4、[类修饰符]class类名[extends父类名][implements[,接口名]{//类体}2021/7/166其中,关键字extends说明了此处定义的“类名”继承了“父类名”指定的类中的属性和行为。例5.1:设计人员类。分析:在一个公司中,有普通职工(Employees)和管理者(Managers)两类人员。对这两类人员的属性和行为进行分析可知,管理者是职工中叫特殊的一部分。可以将类的关系设计如下:父类Employee可能有的属性包括:员工号(id),姓名(name),地址(address),电话(phone),职责(task)。管理者(Manag

5、er)除具有以上所有属性外,还包括特殊的属性,可以将Managers设计为子类,它新具有的属性可以是:所管理的职员(list)。依据分析,可设计如下两个类。2021/7/167父类:publicclassEmployee{//成员变量intid;Stringname,phone,task;//方法略}子类:publicclassManagerextendsEmployee{//成员变量Stringlist;//方法略}明显地,子类继承了父类的属性,所以简化了子类的定义过程,提高了程序的重用性。2021/7/168另外,子类继承父类时,父类的所有成员不一定都

6、可以被继承,也就是说,继承受一些条件的限制,如父类成员前的访问控制修饰符、子类与父类所在包的位置关系等因素。前面第三章中曾经提到,访问控制修饰符主要在继承或包之间的成员访问时进行权限的控制:lpublic公有访问控制符。该修饰符修饰的变量称为公有成员,如果公有成员又在一个公有类中,那么这个成员将能被所有的类访问。lprotected保护访问控制符。该修饰符修饰的成员能被所在的类自身、同一个包中的所有类、其他包中的该类的子类所访问。能被其他包中的该类的子类访问是protected成员的重要特征。lfriendly默认访问控制符。如果成员前没有访问控制符,则默

7、认为friendly类型,称为友好成员。此类变量或方法可以被2021/7/169同一个包中的其他类所访问。lprivate私有访问控制符。该修饰符修饰的成员仅仅能被所在类自身访问,任何其他类都不可访问,包括该类的子类。l以上修饰符不但可以控制变量的访问情况,还可以用同样的规律控制类的成员方法的访问权限。1.公有变量及方法的继承还以上面的两个类为例,假设父类还有一个方法getTask。例5.2:将父类成员声明为public,验证子类的继承效果。父类:publicclassEmployee{//成员变量intid;Stringname,phone,task;p

8、ublicStringgetTask()//公共成员方法{retu

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

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

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