04面向对象程序设计进阶.ppt

04面向对象程序设计进阶.ppt

ID:48076218

大小:1.55 MB

页数:47页

时间:2019-05-06

04面向对象程序设计进阶.ppt_第1页
04面向对象程序设计进阶.ppt_第2页
04面向对象程序设计进阶.ppt_第3页
04面向对象程序设计进阶.ppt_第4页
04面向对象程序设计进阶.ppt_第5页
资源描述:

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

1、面向对象程序设计(上)ID:SCSJ001-JavaBasicSyntax面向对象程序设计(上)类的继承访问控制方法覆盖重载2011-05-032类的继承面向对象最重要的特点之一,就是可以实现对类的复用通过“继承”一个现有的类,可以使用已经定义的类中的方法和变量。类的方法可以被继承,但是类的构造器不能被继承。2011-05-033类的继承(con.)类继承的基本语法:class[extends]{*}在Java中,一个类只能继承

2、一个父类,这种方式叫做单继承。这一点和C++不一样。2011-05-034类的继承(con.)java.lang.Object类是所有类的父类虽然一个类只可以继承一个父类,但是一个父类却可以被多个子类所继承。从子类的角度看,它是“继承(extends)”父类;而从父类的角度看,它是“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。2011-05-035类的继承例子publicclassAnimal{protectedintweight;publicintgetWeight(){retur

3、nweight;}publicvoidsetWeight(intw){weight=w;}}publicclassDogextendsAnimal{/***子类新增方法*/publicvoidbark(){System.out.println("Wang~~Wang~~~");}}2011-05-036类的继承例子(con.)publicclassMyDog{publicstaticvoidmain(Stringargs[]){DogmyDog=newDog();myDog.setWeight(50);Sys

4、tem.out.printf("MyDog'sWeightis%f“,myDog.getWeight());myDog.bark();}}2011-05-037toString()方法在Object类中,定义了一个toString()方法,用于返回一个表示这个对象的字符串覆盖该方法能用来提供某对象的自定义信息简单类型使用它们的封装类,可转换成String2011-05-038访问控制在Java中,可以在类、类的属性以及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。修饰符同一个类中

5、同一个包中子类中全局privateYesdefaultYesYesprotectedYesYesYespublicYesYesYesYes2011-05-039访问控制(con.)访问控制的限制程度从高到低如下图所示。注意,Default不是一个修饰符,它只是用来表示一种不加任何修饰符时的状态。privateDefaultprotectedpublic2011-05-0310方法的覆盖(override)当子类继承父类时,可以从父类继承它的属性和方法。如果从父类继承的方法不能满足子类的需求,可以对其进行改写,

6、这个过程叫方法的覆盖(override),也称为方法的重写。当对父类的方法进行覆盖时,子类中的方法必须和父类中对应的方法具有相同的方法名称、输入参数和返回值。子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。2011-05-0311方法的覆盖例子publicclassPerson{Stringname;intage;Stringsex;publicStringshowName(){returnname;}}2011-05-0312方法的覆盖例子(con.)publicclassTeacherexte

7、ndsPerson{privateStringdepartment;publicvoidsetDepartment(Stringdept){department=dept;}publicStringgetDepartment(){returndepartment;}//方法覆盖publicStringshowName(){returnname+"老师";}}2011-05-0313方法的重载当类中的方法名相同时,称为方法的重载(overload)例如:publicvoidprintln(inti);publi

8、cvoidprintln(charc);publicvoidprintln(Strings);2011-05-0314构造器的重载(案例6-5)除了方法外,类的构造器也可以实现重载类的构造器可以相互调用,调用方式是使用this关键字来实现2011-05-0315作业有工人,农民,教师,科学家,服务生,其中,工人,农民,服务生只有基本工资.教师除基本工资外,还有课酬(元/天),科学家除基本工资外,还有

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

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

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