第5章 面向对象特性(06)

第5章 面向对象特性(06)

ID:20751590

大小:461.00 KB

页数:46页

时间:2018-10-15

第5章 面向对象特性(06)_第1页
第5章 面向对象特性(06)_第2页
第5章 面向对象特性(06)_第3页
第5章 面向对象特性(06)_第4页
第5章 面向对象特性(06)_第5页
资源描述:

《第5章 面向对象特性(06)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、回顾4.5访问控制修饰符:public,protected,private4.6静态修饰符static4.7抽象类与抽象方法abstract4.8最终类、最终属性、最终方法final是最终修饰符,它可以修饰类、属性和方法。4.8.1最终类如果一个类被声明为final,意味着它不能再派生出新的子类,不能被其他类继承。因此一个类不能既被声明为abstract,又被声明为final。将一个类定义为final则可以将它的内容、属性和功能固定下来,从而保证引用这个类时所实现的功能是准确无误的。static只能修饰属性和方法abstrac

2、t只能修饰类和方法无论static还是final变量,都只能存储一个数据,而且不得改变。final修饰的变量即常量。可以把一个对象变量定义为final。在对象被构造时,这个变量必须被初始化。即必须保证在构造方法结束之前该变量已经初始化,并且初始化的值以后不能改变。4.8.2最终属性(变量)父类中的方法被声明为final,将不能在子类中被覆盖(重写),即最终方法能被子类继承和使用但不能被修改或重新定义。之所以要使用final方法,主要出于两方面的考虑:(1)为方法“上锁”,防止任何继承它的子类改变它的本来含义。(2)提高程序执行

3、的效率。4.8.3最终方法第五章面向对象特性主要内容:1.类的继承2.类的多态3.接口4.包教学目的和要求:理解继承和复用的概念理解父类和子类掌握扩展类编程理解多态性是如何扩充和维护系统性能掌握如何建立包和接口重点:类的封装中的权限;包、接口的使用;类的继承的概念和实现难点:类多态中的方法重载和覆盖教学重点与难点5.1抽象与封装什么是抽象?抽象就是抽出事物的本质特性而暂时不考虑它们的细节。过程抽象和数据抽象是常用的两种主要抽象手段。在面向对象程序设计中,对象是现实世界中的实体在程序中的抽象。而类则是对具有类似特征的对象的一个抽

4、象,对象是类的实例。抽象是程序设计的基础。软件开发的目的是解决现实问题。而我们的现实世界信息太多,因此需要把重点集中在我们所关心的问题上,忽略事物非本质的细节。例如,关于一个人的信息有:姓名、年龄、工号、身高、工资、视力、兴趣、婚姻状况等,但不是所有这些都要记录。当我们为企业建立工资管理系统时,只需要记录姓名、工号、工资;当一个人去体检,则需要姓名、年龄、身高、视力;而当他去征婚时,则需要姓名、年龄、兴趣、婚姻状况等。面向工资管理的Person类:ClassPerson{Stringname;intNO;doublesalar

5、y;}面向体检的Person类:ClassPerson{Stringname;intage;floatheight;floateyesight;}面向征婚的Person类:ClassPerson{Stringname;intage;Stringfavorite;floatmarital_status;}例子封装的例子---直线类………………起/终点、线形、粗细和颜色绘制直线获取属性值设置属性值成员方法外部访问成员变量5.2继承的概念继承性是面向对象程序设计语言的最主要的特点,是其他语言(如面向过程语言)所没有的。类之间的继承关

6、系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类的某些特征。当然,子类也可以具有自己独立的属性和操作。例如,飞机、汽车和轮船可归于交通工具类,飞机类可以继承交通工具类某些属性和操作。除遗传关系外,现实世界中还存在着“部分—整体”关系。例如,飞机可由发动机、机身、机械控制系统、电子控制系统等构成。5.2.1继承的定义如果子类只从一个父类继承,则称为单继承;如果子类从一个以上的父类继承,则称为多继承。Java不支持多重继承,但它支持“接口”的概念。接口使Java获得了多重继承的许多

7、优点,却摒弃了相应的缺点。在类的定义中,父类名跟在extends关键字后面,用来说明当前所定义的类是哪个已经存在类的子类,即它们之间存在继承关系。[修饰符]class类名[extends父类][implements接口名]5.2.2扩展类classEmployee{Stringname;//成员变量doublesalary;DatehireDay;……//方法}classCommonEmployeeextendsEmployee//普通雇员类{intm_ManagerNo;//代表管理该雇员的经理的编号}classManage

8、rextendsEmployee//经理类:{intm_SecretaryNo;//代表该经理的秘书的编号}例子:扩展雇员类子类父类5.2.3方法继承、覆盖与重载对于Manager对象,可以使用Employee类中的getName等方法。即使这些方法没有明显地在Manager

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

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

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