第三讲 Java与面向对象技术.ppt

  1. 1、本文档共73页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲 Java与面向对象技术.ppt

第三讲 Java与面向对象技术 刘春国 测绘与国土信息工程学院 lchguo@hpu.edu.cn 1、系统开发方法学的比较 面向过程的程序设计方法学:使用结构化编程、结构化分析和结构化设计的系统开发方法 基本思想:用系统工程的思想和工程化的方法,结构化,模块化,自顶向下地对系统进行分析与设计。 优点:强调系统开发过程的整体性和全局性,自顶向下的开发,严格区分开发阶段。 缺点: 要求系统开发者在调查中就充分地掌握用户需求、管理状况以及预见可能发生的变化,这不大符合人们循序渐进地认识事物的规律性。 系统扩展、维护不容易 1、系统开发方法学的比较 软件是问题求解的一种表述形式。显然,假如软件能直接表现人求解问题的思维路径(即求解问题的方法),那么软件不仅容易被人理解,而且易于维护和修改,从而会保证软件的可靠性和可维护性,并能提高公共问题域中的软件模块和模块重用的可靠性。面向对象的机能念和机制恰好可以使得按照人们通常的思维方式来建立问题域的模型,设计出尽可能自然地表现求解方法的软件。 1、系统开发方法学的比较 面向对象的方法学:把信息系统看作是互相作用的对象集合,所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统 。 优点: 面向对象的理念和机制恰好可以使得按照人们通常的思维方式来建立问题域的模型,设计出尽可能自然地表现求解方法的软件。 系统健壮、易于维护等 继承性是面向对象程序设计语言的另一基本特征,通过继承可以实现代码的复用。继承而得到的类为子类,被继承的类为父类,父类包括所有直接或间接被继承的类。Java中不支持多重继承。通过在类的声明中加入extends子句来创建一个类的子类: class SubClass extends SuperClass { …… } 如果缺省extends子句,则该类为java.lang.Object的子类。 子类可以继承父类中访问权限设定为public、 protected、 default的成员变量和方法,但是不能继承访问权限为private的成员变量和方法。 3、Java中的类、方法和变量 ——继承 何时选择继承? 一个很好的经验:“B是一个A吗?” 如果是则让B做A的子类. 常犯的错误A有一个B吗? 例如让汽车轮子成为汽车的子类是错误的 3、Java中的类、方法和变量 ——继承 Shape Point Circle Cylinder 在更多的时候,组成(聚集)关系比继承更能使系统具有高度的灵活性,可维护行,并且提高系统的可重用性。 Shape Point Circle Cylinder 3、Java中的类、方法和变量 ——继承 类方法的覆盖 方法覆盖即指在子类中重新定义父类中已有的方法。 class Car { int color_number; int door_number; int speed; public void push_break() { speed = 0; } public void add_oil() { … } } class Trash_Car extends Car { double amount; public void fill_trash() { … } public void push_break() { speed = speed – 10; } } 3、Java中的类、方法和变量 ——覆盖 覆盖方法的调用 对于重写的方法,Java运行时系统根据调用该方法的实例的类型来决定选择哪个方法调用。 public class DemoCar { public static void main( String args[ ] ) { Car aCar = new Trash_Car( ); aCar. push_break( ); } } 在这里, 类Trash_Car中的push_break( )方法将被调用。 3、Java中的类、方法和变量 ——覆盖 方法覆盖时应遵循的原则 (1)覆盖后的方法不能比被覆盖的方法有更严格的访问权限。 (2)覆盖后的方法不能比被覆盖的方法产生更多的例外。 3、Java中的类、方法和变量 ——覆盖 类方法的重载 方法重载即指多个方法可以享有相同的名字。但是这些方法的参数必须不同,或者是参数个数不同,或者是参数类型不同。 例如,要打印不同类型的数据,int, float, String,不需要定义不同名的方法

文档评论(0)

docinpfd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5212202040000002

1亿VIP精品文档

相关文档