Java程序设计资料:单元06 类的继承.doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《Java程序设计资料:单元06 类的继承.doc》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计资料:单元06 类的继承 Java 程序设计 资料 单元 06 继承
- 资源描述:
-
1、单元 06 类的继承单元目标 掌握继承的概念和实现方式; 掌握 this 和 super 关键字;任务陈述任务描述公司中含有三类员工分别是雇员、行政人员和经理。由于类别不同对于三类员工分别使用类进行标示。要求雇员包含:属性有姓名和工号;行为有工作和加班。行政人员包含:属性有姓名、工号和职务;行为有工作和管理。经理包含:属性有姓名、工号、职务和部门;行为有工作和外交。使用继承技术实现公司员工的信息管理。运行结果知识准备6.1 继承继承是面向对象程序设计思想中最重要的性质, 通过继承可以有效的建立程序结构,明确类之间的关系,增强程序的扩充性和可维护性,能够使用已有的类来扩充成更复杂、功能更强大的程
2、序,并为面向对象思想的其他特性提供前提条件。6.1.1 继承的概念面向对象程序设计中,在已有类的基础上定义新类,而不需要把已有类的内容重新书写一遍,这就叫做继承继承。已有类称为基类或父类基类或父类,在此基础上建立的新类称为派生类或子类派生类或子类。 继承关系可以描述为: 子类继承了父类或父类被子类继承。子类与父类建立继承关系后, 子类也就拥有了父类的非私有的成员属性和成员方员工继承关系程序设计员工继承关系程序设计法,同时还可以拥有自己的属性和方法。6.1.2 继承的实现继承的英文翻译为 inherit,但是由继承定义可以看出子类实际上是扩展了父类,因此 Java 中继承是通过关键字“exten
3、ds”来实现的。关键字“extends”说明要构建一个新类而新类是从一个已经存在的类中衍生出来的。格式如下:修饰符修饰符class子类名子类名extends 父类父类【实例 2-11】使用继承思想实现汽车类,以及公交车和卡车类。public class Car /定义父类public String bound;/汽车牌子public int count;/汽车载人数public void showInfo()/显示汽车基本信息System.out.print(车的牌子是:+bound+;车载人数:+count);public class Bus extends Car/Car的子类Buspub
4、lic String number;/子类自己属性-几路公交车protected void showStation(String station)/子类自己方法-报站名System.out.println(你到+station);public class Truck extends Car/Car的子类Truckpublic double weight;/子类自己属性-载重public void loading(String things)/子类自己的方法-装货System.out.println(车里装+things);本例中主要描述了关于汽车的继承关系。其中Bus和Truck分别代表公交车
5、和货车 (实体) , 它们都是一种汽车Car (概念) 。 因此Car作为了父类, Bus和Truck分别是由Car派生出来的子类。注解:1. Java只允许单继承,而不允许多重继承,也就是说一个子类只能有一个父类;员工继承关系程序设计2. 如果子类继承了父类,则子类自动具有父类的全部非私有的数据成员(数据结构)和成员方法(功能);3. 子类可以定义自己的数据成员和成员函数,同时也可以修改父类的数据成员或重写父类的方法;4.Java中却允许多层继承。例如,子类A可以有父类B,父类B同样也可以再拥有父类C。因此子类都是“相对”的;5. 在 Java 中, Object 类为特殊超类或基类, 所有
6、的类都直接或间接地继承Object。【经 验】我们可以看出父类都是概念性的类别词汇,例如:汽车、电灯、风扇。而汽车又可分为公交车、货车等;电灯又分为台灯、日光灯、彩灯等;风扇又可分为吊扇、台扇等。Java 是面向对象程序设计语言,来形容实际存在的实体对象,所以编程前对程序需求分析应从对象入手,总结多个对象之间的相同点和不同点, 把相同点抽象出来组成一个概念性的父类,把不同点作为子类自己独有的性质。因此通常情况父类是没有实例化的必要。6.2 方法的覆盖当子类继承父类,而子类中方法与父类中方法的名称、返回类型及参数都完全一致时,就称子类中的方法覆盖了父类中的方法,有时也称为方法的“重写” 。【 实
7、 例 2-12 】 父 类 workman 中 有 一 个 print 方 法 , 使 用 一个 子 类Managerwork 来继承 workman 并重写父类的 print 方法。public class workman String name;int salary;public void print() System.out.println(姓名: + name + 薪水 + salary);public class Managerwork extends workman String department;public void print() System.out.println(姓
8、名: + name + 薪水 + salary + 部门 +department);员工继承关系程序设计该实例的子类继承了父类的方法 print,而自己也写了一个 print 方法,从继承的概念上讲子类应该拥有 2 个 print 方法,但实际上在使用子类对象调用方法时,调用的是子类写的 print 方法,同时也就相当于掩盖了父类的方法。6.3 this 和 super 关键字6.3.1 this 关键字this 有两种用法:第一种用法中,this 代表它所在类的实例化对象。可以理解为是类对象的一个简单引用, 利用 this 可以连用当前对象的方法和变量, 特别是当方法名和变量名很长时,这种调
9、用更加有意义。第二种用法,解决成员变量和局部变量重名的问题。第三种用法,在同一个类中不同构造方法之间的调用需要使用 this。【实例 2-13】this 关键字的三种用法举例。public class ThisEx public String name;public int age;public ThisEx(String name) this.name=name;/参数中的变量名name和属性中的名字name重名public ThisEx(String name,int age ) this(name);/调用上面的public ThisEx(String name)构造方法this.age
10、=age; /参数中的变量名age和属性中的名字age重名public void setAge(int age)this.age=age;this.aComplexMethodPresentations();/调用名字复杂的方法public void aComplexMethodPresentations()int age;age=this.age;【注【注 意】意】如果在构造方法中调用另一构造方法,则这条调用语句必须放在第一句。员工继承关系程序设计6.3.2 super 关键字super主要的功能是完成子类调用父类中的内容。Super有两种用法:第一种用法中,super表示的是所在类的直接父
展开阅读全文