JAVA语言课时授课计划07_第1页
JAVA语言课时授课计划07_第2页
JAVA语言课时授课计划07_第3页
JAVA语言课时授课计划07_第4页
JAVA语言课时授课计划07_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

班级日期课

课时授课计划班班第教学周类的封装、多态和继承

编号:Win001题目的要求重点难点

要求学生掌握类的封装中的权限、类多态中的方法重载和覆盖、类的继承的概念和实现方法的重载和覆盖、类的继承方法的重载和覆盖、类的继承教法

讲授动手操作

教具

教材及课外资料无课外资料课时分配

组织教学0小结巩固1

复习旧课布置作业

上机练习上机练习

讲授新课其他

21教学内容及进程课外

一、类的封二、多态机三、类的继作业课后作业

1.设计一个汽车类属性wheelsweight小车类Car是Vehicle类的子类加属性人loader车TruckCar类的子类,外加属性:载重量payLoad。要求)每个类都有构造方法,()子类必须调用父类的构造方()每个类都有一个show()方()建立Truck类的对象,输第章类的封装、多类的封装

所谓封装,指类的设计者只是为使用者提供类对象可以访问的部分(包含类的成员变量和方法于类中其他用户不能访问具体指以下3方面:(员变量和方法的访问权限;(个统一供其他类引用的方法;(象不能直接修改本对象所拥有的属性和方法。7.1.1对于类中的成员变量创建对一块空间作为对象的属性出现。同样,类的方法中也有变量,这些变量的有效范围只是在方法体内,如果出了方法体,那么这些变量就不起作用。如果成员变量和v同名,则方法中的变量只在该方法中起举例说明类的成员变量和方法变量classVOMethod1{intvoidf1(){intSystem.out.println("f1()z的"+z);}void{System.out.println("show()方z的"+z);}}classVOMethod2{staticvoidmain(String[]{intvomnewvom.f1();vom.show();}}输出结果:f1()方中z的值为:Show()中的z的为:7.1.2、private类(公共类)中的成员变。一个程序文件中只能定义一个public类如果不想让其他类进行访问,可以设置访问权限。例程序文件PublicClass.java中代码:

PublicClass{

StringStringdoublevoid{}

System.out.println("name:"+name);System.out.println("score:"+score);}class{staticvoidmain(String[]{=new张三;myInfo.address="西湖路号"}}7.1.4protected使用定义的成员变量或方法,类本身、子类或包其他类没有访问权限。程序文件代packageMM;//将MM中classMax{intint{intm;m=(x>y)?x/y:returnm;}}程序文件GetNum.java代码:packageMM;//若MM会编译出错class{staticvoidmain(String[]{int=Max();

=ss.play(5,45);//引用protected方System.out.println("result="+result);}}7.1.4friendly是friendly修饰的成员变量或方法对于包内的所有类而言是可以访问的,但对于包外的类,则不能对它们进行访问。多态机制多态的特点是采用同名方式少及传送参数类型的不同,调用不同的方法,从而达到采用同样的方法获得不同的行为特性的目的。7.2.1方法重载指在类中创建了多个方法它们具有相同的方法名但有不同的参数不同的返回类型或不同的方法体。举例:建一个类,通过调用该类的方法,可以求圆的面积,也可以求长方形的面积。MianJi{intmianJi(intx,inty){returnx*y;}doublex){return3.14159*x*x;}staticvoidmain(String[]{MianJimj=newMianJi();半径为积为"长为4宽为的长方形面积为"}}7.2.2构造方法在使用创建对象时自动调用。同样也可以对类的构造方法设置多个同名方法,创建对象时根据参数的不同引用不同的构造方法。类的继承继承,指以原有的类为基础来创建一个新类,从而达到代码复用的目的。利用继承可以来创建一个具有公共属性的类具有特有属性的新类以适用于不同的情况。如彩色电视与液晶电视的关系。承,被继承的类称为父类,继承而来的类则称为子类。继承是在原有父类基础上添加程序代码建立新类这个新类既能够运行自己定义的方法,也可以运行父类中定义的方法,从而复用代码。7.3.2定义继承的形式为:[]class类名[extends

父类]

{

}其中,访问权限指public,”为继承关键字,后面跟父类名。7.3.2子子类可以继承父类所有成员变量时,但只能访问父类的非私有变量和方法。举例:设计一个学生类,属性有姓名(龄(age学生类派生出本科生类Graduate,本科生类增加属(specialty究生类增加属性:研究方向studyDirection个输出方法。classStudent//学生类{public姓名int年intmoney;//私房钱}//classUndergraduateextends{publicspecialty;//专}//class{studyDirection;//研向}class{publicvoidmain(String[]args){UndergraduatebenKe=Undergraduate();benK"张三";////"计算机网络";姓名:"+benK+""+benKe.specialty);GraduatenewGraduate();yJS.name="李";yJS.age=yJS.studyDirection="嵌入式软件开发"

年龄:"

专业::"+yJS.studyDirection);}}构造方法的继承

年龄:

研究方向:子类可以继承父类的非私有成员变量和方法构造方法构造方法的继承遵循的原则是P101)(以无条件地继承父类不含参数的构造方法;(类没有构造方法,则它继承父类无参数的构造方法作为自己的构造方法;

如果子类有构造方法么在创则承下来的父类的构造方法,然后再执行自己的构造方法。(类中包含有参数的构造方法子用关键字来引用,而且必须是子类构造方法中的第一条语句。举例:修改上例,改用构造方法。方法覆盖的同名方法进行重定义是的方法名称相同,但方法的内容不同,这种多态就称为方法覆盖。举例父类有骂人的习惯子类继承父类后更不再具有骂人的习惯。classFuLei{publicvoidmaRen(){我要骂人!");}}classZiLeiextends{////

void{我老豆喜欢骂");super.maRen();我讲礼貌,我不骂人!}}class{staticvoidmain(String[]{ZiLeizl=new}}终止覆盖有时出于安全考虑需要防止黑客用属于系统重要信息的类来创建其子类在子类中覆盖原有的类的方法。为保证父类方法不会被子类中定义的方法替代使“final字来修饰该方法。举例:级上例添加一个final方法,演示终止覆盖。super的通常super代this所以可以用super.成员变量和super.来访问父

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论