北京大学-JAVA面向对象教材

北京大学-JAVA面向对象教材

ID:44354535

大小:392.00 KB

页数:51页

时间:2019-10-21

北京大学-JAVA面向对象教材_第1页
北京大学-JAVA面向对象教材_第2页
北京大学-JAVA面向对象教材_第3页
北京大学-JAVA面向对象教材_第4页
北京大学-JAVA面向对象教材_第5页
资源描述:

《北京大学-JAVA面向对象教材》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第六章Java类设计1本章内容Java类的继承(inheritance)方法的重载(overloading)、重写(overriding)多态性(polymorphism)及其应用成员访问控制对象的创建和初始化细节几种常用的Java类2抽象与封装抽象:即忽略被研究对象中与主旨无关的次要部分,仅仅考虑与研究工作有关的实质性的内容。封装:是指利用抽象数据类型将数据和对这些数据的操作组合在一起,数据被保护在抽象数据类型的内部,外部只能通过公共操作来访问被保护的数据(在Java里为private型数据)。3继承与多态继承是存在于面向对象程序中的两个类之间的一种关系

2、。当一个类拥有另一个类的所有数据和操作时,就称这两个类之间具有继承关系。多态是指一个程序中同名的不同方法共存的情况。面向对象的程序中多态的情况有两种:动态多态:通过子类对父类方法的覆盖(override),有时也叫方法重写。静态多态:利用重载(overload)在同一个类中定义多个同名的不同方法。4类的继承(1)为描述和处理个人信息,定义类Person:publicclassPerson{publicStringname;publicintage;publicDatebirthDate;publicStringgetInfo(){...}}Person+n

3、ame:String+age:int+birthDate:Date+getInfo():String5类的继承(2)为描述和处理学生信息,定义类Student:publicclassStudent{publicStringname;publicintage;publicDatebirthDate;publicStringschool;publicStringgetInfo(){...}}Student+name:String+age:int+birthDate:Date+school:String+getInfo():String6类的继承(3)通过继承,

4、简化Student类的定义:publicclassPerson{publicStringname;publicintage;publicDatebirthDate;publicStringgetInfo(){...}}publicclassStudentextendsPerson{publicStringschool;}Person+name:String+age:int+birthDate:Date+getInfo():StringStudent+school:String7类的继承(4)类继承语法规则:class[ext

5、ends]{*}Object类是所有Java类的最高层父类Java只支持单继承,不允许多重继承一个子类只能有一个父类一个父类可以派生出多个子类8单继承举例Person+name:String+age:int+birthDate:Date+getInfo():StringStudent+school:StringSoldierOfficerGraduate+major:history+register():void9继承的特点子类可以继承父类中访问权限设定为public、protected、缺省(没有访问权

6、限修饰符)的成员变量和方法。子类不能继承父类的私有(private)成员变量和方法。子类只能从一个父类继承,不能同时继承多个父类。10访问控制ModiferSameClassSamePackageSubclassUniverseprivateYesdefaultYesYesprotectedYesYesYespublicYesYesYesYes可以对Java类中定义的属性和方法进行访问控制----规定不同的保护等级:11访问控制举例范例:AccessControlTest1.java12访问控制分析f1_privatef2_defaultc2_publi

7、cf3_protectedf4_publicc1_private内存空间中子类对象携带的数据子类的对象可以调用的方法fm2()_defaultfm3()_protectedfm4()_publiccm2()_publiccm1()_private父类Parent和子类Child在同一包中定义时:13Ex改造上述应用程序后,分析其结果,体会Java访问控制机制,可分下述几种情形:应用程序入口main()方法定义在一个非子类中Parent和Child类位于不同包中Parent和Child类位于不同包中,main()方法定义在不同包内的非子类中14方法的重写在子

8、类中可以根据需要对从父类中继承来的方法进行改造----方法的重写重

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

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

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