Java-面向对象编程-2.ppt

Java-面向对象编程-2.ppt

ID:48773902

大小:1.23 MB

页数:52页

时间:2020-01-23

Java-面向对象编程-2.ppt_第1页
Java-面向对象编程-2.ppt_第2页
Java-面向对象编程-2.ppt_第3页
Java-面向对象编程-2.ppt_第4页
Java-面向对象编程-2.ppt_第5页
资源描述:

《Java-面向对象编程-2.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Java程序设计2面向对象程序设计的特点面向对象程序设计具有三大特征:封装继承多态封装封装:隐藏内部细节,控制外部访问的方式恰当的封装可防止程序员相互干扰,实现了模块化和信息隐藏通过控制对(内部)属性和方法的访问方式来实现封装不要依赖于你不需要知道的知识类和包是Java语言中的基本封装机制类实现了数据和方法的封装包是对一组相互耦合度较高的类型的封装访问控制修饰符JAVA中的访问控制修饰符public,protected,package(缺省),private修饰符类包子类所有类和包private√package√√protected√√√pub

2、lic√√√√关联和聚合对象不是孤立的关联(Association)——两个对象间存在某种语义联系方向性——关联可以是单向的,也可以是双向的单向关联:A“知道”B,但B不“知道”A双向关联:A“知道”B,B也“知道”A依赖性——不完全依赖A“知道”B,因此A依赖于B这种依赖一般是松散的,即A和B的存在都不需要以对方的存在为基础实现时,一般通过保存对方的对象标识来表达关联和聚合关联(Association)的UML表示aProfessoranUniversityEmployeeEmployer关联和聚合聚合(Aggregation)——表示两个对

3、象间有整体—部分关系一种特殊的关联对象间的聚合关系总是单向的依赖性——依赖较强B是A的一部分,如果A聚合B(has-A关系)将B从A中取出,则A往往变得不完整一般情况下,B可以独立于A而存在换句话说,在系统内部存在一个A和B同时都独立存在的暂时状态(当然此时聚合对象的功能不完整)。实现时,一般通过在A中保存B的对象标识来表达关联和聚合聚合(Aggregation)的UML表示aStudentaSchedule关联和聚合复合(Composition)——一种更强的聚合关系(特殊的聚合)对象间的复合关系总是单向的依赖性——部分的生命周期依赖于整体B

4、不能独立于A而存在B的生命周期受A的控制(B会随着A的创建而创建,随A的消亡而消亡)实现时,一般通过在A中保存完整的B对象来表达B对象的实例化在A中完成关联和聚合复合(Composition)的UML表示aTreeaLeaf关联和聚合练习:以下各组对象之间应是哪种关联关系?学生——课本教师——学生书——前言书——作者汽车——引擎PC——CPU深圳大学——深圳大学软件学院顾客——合同继承概述类与类之间还有一种Is-A关系,子类自动获得父类的方法与属性,我们称之为继承子类拥有父类的一些公有的属性和方法,并且子类可能也会有自己的方法和属性派生与抽象、

5、特化与泛化除了添加父类中没有的新方法外子类还可以通过重写父类的方法来重定义自己的行为方式继承基础重写与重载不同,重载需要不同的参数来区别相同方法名的方法,重写是发生在子类与父类上,重写父类方法必须与父类的方法名同名同参并且同返回值。当访问修饰符为private时,表明该方法不能被重写,同样当方法具有final关键字时该方法不能被重写。子类虽然重写了父类的某个方法,但仍然需要用到父类的这个方法,这时使用super关键字仍然可以调用父类的方法。//TestOstrich.javapublicclassTestOstrich{publicstatic

6、voidmain(String[]args){Birdostrich1=newOstrich();//向上转型ostrich1.fly();}}classBird{publicstaticvoidfly(){System.out.println("BirdFlying!");}}classOstrichextendsBird{publicstaticvoidfly(){System.out.println("Ican'tfly!");}}输出结果:BirdFlying!Static方法不能重写Bird类派生了鸵鸟Ostrich类,以上程序声明了

7、一个Bird类型的鸵鸟对象,象基本类型数据的自动提升一样,鸵鸟自动提升为Bird类,这叫做向上转型。static方法是不会被重写如TestOstrich.java所示:子类中定义了与父类同名的fly方法,父类的fly方法不会被重写,而是被遮蔽因此得出结果鸵鸟会飞!构造方法的调用顺序子类在产生对象实例时首先会调用父类的构造方法,如果没有显示的指定调用父类自定义的构造方法,那么编译器会调用默认的父类构造方法:super()。但是父类如果自定义了带参数的构造方法,就必须在子类的构造方法中指定调用它,否则会因找不到super()而报错。注意,如果需要显

8、示的调用父类构造方法,必须将其写在构造方法里的第一行。接着按声明的顺序调用成员初始化。最后调用本构造方法的方法体Object类Java中所有的类都是继

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

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

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