面对对象的程序设计二

面对对象的程序设计二

ID:27545434

大小:409.51 KB

页数:46页

时间:2018-12-04

面对对象的程序设计二_第1页
面对对象的程序设计二_第2页
面对对象的程序设计二_第3页
面对对象的程序设计二_第4页
面对对象的程序设计二_第5页
资源描述:

《面对对象的程序设计二》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章Java面对对象的程序设计(二)学习导读本章讨论面向对象的编程(OOP)及其关键技术:继承和多态、接口、包。继承性是软件复用的一种形式,对降低软件复杂性行之有效。继承性同时是面向对象程序设计语言的特点,采用对象但没有继承性的语言是基于对象的语言,但不是面向对象的语言,这是两者的区别。多态性允许以统一的风格处理已存在的变量及相关的类,使增加系统中新功能变得容易。5.1继承的概念继承性是面向对象程序设计语言的最主要的特点,是其他语言(如面向过程语言)所没有的。类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承

2、类)的某些特征。当然,子类也可以具有自己独立的属性和操作。继承5.1继承的概念继承定义继承性是软件复用的一种形式。新类由已存在的类生成,通过保留它们的属性和行为,并且根据新类的要求对性能加以修改,添加新的属性和行为。如果子类只从一个父类继承,则称为单继承;如果子类从一个以上父类继承,则称为多继承。注意Java不支持多重继承,但它支持“接口”概念。接口使Java获得了多重继承的许多优点,摒弃了相应的缺点。5.2扩展类1继承关系定义父类名跟在extends关键字后面,用来说明当前类是哪个已经存在类的子类,存在继承关系。定义雇员类Employee的两个子类:一般雇员类:CommonEm

3、ployee主管类:ManagerEmployee子类从父类继承有两个主要的方面:(1)属性的继承。例如,公司是一个父类,一个公司有名称、地址、经理、雇员等,这些都属于结构方面。(2)方法的继承。一个父类定义了若干操作,如一个公司要有项目、利润、任命经理、录用职工等操作,子公司也将继承这些行为。5.2扩展类classCommonEmployeeextendsEmployee//子类1:{intm_ManagerNo;//定义类属性m_ManagerNo,代表雇员上司的编号}classManagerEmployeeextendsEmployee//子类2:{intm_Secreta

4、ryNo;//定义类属性m_SecretaryNo,代表秘书的编号}声明类头-父类名两个子类5.2扩展类2属性继承与隐藏尽管Employee类是一个父类,但是并不因为它是父类就意味着它有更多的功能。恰恰相反,子类比它们的父类具有更多的功能。因为子类是父类的扩展,增加了父类没有的属性和方法(1)子类不能访问父类的private成员,但子类可以访问其父类的public,(2)protected访问是public和private访问之间一个保护性的中间层次。(3)由于被继承的父类成员没有在子类声明中列出,但是这些成员确实存在于子类中。5.2扩展类3方法继承、覆盖与重载1).方法继承对于

5、子类对象,可以使用父类中的方法。即使这些方法没有明显地在子类中定义,它们也自动地从父类中继承过来了。2).方法覆盖方法的覆盖是指:子类定义同名方法来覆盖父类的方法,是多态技术的一个实现。当父类方法在子类中被覆盖时,通常是子类版本调用父类版本,并做一些附加的工作。见例5.1例5.25.2扩展类关于覆盖应注意的事项1、方法覆盖中,子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明,即与父类完全相同的方法名、返回值和参数列表。2、子类可以添加字段,也可以添加方法或者覆盖父类中的方法。然而,继承不能去除父类中的任何字段和方法。3、注意方法覆盖中的this和super见下页:

6、5.2扩展类this和super1、this表示的是当前对象本身,this代表当前对象的一个引用。可以理解为对象的另一个名字。利用this可以调用当前对象的方法和属性。如:this.getName()和getName()在类中是一样的。见例1this的使用2、super表示的是当前对象的直接父类对象,是当前对象的父类对象的引用。见例2super的使用5.2扩展类3.方法重载重载的定义:可以用相同的方法名但不同的参数表来定义方法(参数表中参数的数量、类型或次序有差异),这称为方法重载。重载(overloading):当多个方法具有相同的名字而含有不同的参数时,便发生重载。编译器必须

7、挑选处调用哪个方法。它通过将在不同方法头部中的参数类型和在特定的方法调用中使用值的类型进行比较,从而挑选出正确的方法。5.2扩展类4在子类中使用构造函数关于子类构造函数的规律总结如下:(1)子类构造函数总是先调用(显式的或隐式地)其父类的构造函数,以创建和初始化子类的父类成员。(2)构造函数不能继承,它们只属于定义它们的类。(3)当创建一个子类对象时,子类构造函数首先调用父类的构造函数并执行,接着才执行子类构造函数5.2扩展类5父类对象与子类对象的关系1、子类对象可以被视为是其父

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

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

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