面向对象程序设计下.ppt

面向对象程序设计下.ppt

ID:52495660

大小:172.00 KB

页数:30页

时间:2020-04-08

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

《面向对象程序设计下.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库

1、面向对象程序设计(下)封装继承多态信息的隐藏隐藏:指的是对象的一种保护机制,使得它的属性或方法不被外部的程序直接访问使用者对类内部定义的数据(对象的成员变量)的直接操作会导致数据的错误、混乱或安全性问题。publicclassStudent{publicintage;}publicclassStudentTest{publicstaticvoidmain(Stringargs[]){Students=newStudent();//合“法”但不合理的设置s.age=1000;}}信息的封装封装指的是将对象的状态信息(属性)和行为

2、(方法)捆绑为一个逻辑单元的机制。Java中通过将数据封装、声明为私有的(private),再提供一个或多个公开的(public)方法实现对该属性的操作,以实现下述目的:隐藏一个类的实现细节;防止对封装数据的未经授权的访问。使用者只能通过事先定制好的方法来访问数据,可以方便地加入控制逻辑,限制对属性的不合理操作;有利于保证数据的完整性;便于修改,增强代码的可维护性;类的继承面向对象最重要的特点之一,就是可以实现对类的复用通过“继承”一个现有的类,可以使用已经定义的类中的方法和变量。类的方法可以被继承,但是类的构造器不能被继承。

3、类的继承关系人学生教师动物狗猫类的继承类继承的基本语法:<修饰符>class<类名>[extends<父类名>]{<声明>*}在Java中,一个类只能继承继承一个父类,这种方式叫做单继承。这一点和C++不一样。类的继承java.lang.Object类是所有类的父类虽然一个类只可以继承一个父类,但是一个父类却可以被多个子类所继承。从子类的角度看,它是“继承(extends)”父类;而从父类的角度看,它是“派生(derive)”子类。它们指的都是同一个动作,只是角度不同而已。类的继承例子类的继承例子:Animal.javapub

4、licclassAnimal{privateintweight;publicintgetWeight(){returnweight;}publicvoidsetWeight(intw){weight=w;}}类的继承例子publicclassDogextendsAnimal{/***子类新增方法*/publicvoidBark(){System.out.println("Wang~~Wang~~~");}}类的继承例子publicclassMyDog{privatestaticDogmyDog;publicstaticvoid

5、main(Stringargs[]){myDog=newDog();myDog.setWeight(50);System.out.println("MyDog'sWeightis"+myDog.getWeight());myDog.Bark();}}类的继承例子Person类:属性:姓名年龄生日Student类:属性:姓名年龄生日学号专业访问控制在Java中,可以在类、类的属性以及类的方法前面加上一个修饰符(modifier),来对类进行一些访问上的控制。修饰符同一个类中同一个包中子类中全局privateYesdefaultY

6、esYesprotectedYesYesYespublicYesYesYesYes访问控制(con.)访问控制的限制程度从高到低如下图所示。注意,Default不是一个修饰符,它只是用来表示一种不加任何修饰符时的状态。privateDefaultprotectedpublic方法的覆盖(override)当子类继承符类时,可以从父类继承它的属性和方法。如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。当对父类的方法进行覆盖时,子类中的方法必须和父类中对应的方法

7、具有相同的方法名称、输入参数和返回值。子类中的覆盖方法不能使用比父类中被覆盖方法更严格的访问权限。方法的覆盖例子publicclassPerson{Stringname;intage;Stringsex;publicStringshowName(){returnname;}……}方法的覆盖例子publicclassTeacherextendsPerson{privateStringdepartment;publicvoidsetDepartment(Stringdept){department=dept;}publicStri

8、nggetDepartment(){returndepartment;}//方法覆盖publicStringshowName(){returnname+"老师";}……}super关键字在Java类中使用super来引用父类的成分super可用于访问父类中定义的属性super

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

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

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