网站大量收购闲置独家精品文档,联系QQ:2885784924

第3章_Java与面向对象技术.ppt

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

第3章 Java与面向对象技术 广东工业大学计算机学院 本章内容 3.1 面向对象编程基础 3.2 类的编程实现 3.3 对象的构造与使用 3.4 包 面向对象程序设计基础 面向对象程序设计(OOP)围绕的几个主要概念: 抽象数据类型 类 类层次(子类) 继承性 多态性 3.1 面向对象的概念 面向对象的概念(续) 什么是类 类是描述对象的“基本原型”,它定义一种对象所拥有的数据和能完成的操作,在面向对象的程序设计中,类是程序的基本单元。 面向对象的概念(续) 变量:对象所知道的状态 方法:对象的功能单元 消息: 软件对象通过相互间传递消息来相互作用和通信。 一个消息由三部分组成: 1. 接受消息的对象 2. 要完成方法的名字 3. 方法需要的参数 在java.lang.awt.event 包中详细定义了各种常用的事件。 面向对象的概念 举例 一个例子 在程序中操作的对象是类的一个实例,即: 创建一个对象 Hello hobj = new Hello(); 调用方法 hobj.showString(“Hello World!”) 面向对象的概念——封装 封装 封装把对象的所有组成部分组合在一起。实际上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。 面向对象的概念——子类 子类:对另一个类的扩充或修正而得到的类,与父类之间是一种特殊与一般的关系。 面向对象的概念——继承 面向对象的概念——继承(续) 方法的覆盖:在子类中重新定义父类中已有的方法 面向对象的概念——多态性 方法的重载(多态性) 在同一个类中有可能出现两个或多个方法同一称的情况,但它们有不同的参数。 类之间的关系 在类之间,最常见的关系有: 依赖(dependency):uses – a 聚合/关联(association):has – a 继承/泛化(generalization):is – a 实现关系(implement) 类之间的关系(续) 依赖: 描述了一个事物的规格说明的变化可能会影响到使用它的另一个事物(反之不一定)。例如赛车手与赛车的关系。 聚合:也叫关联,描述的是一个整体和组成部分的关系,即“has – a”关系,意思是整体对象拥有部分对象,例如学校和学生的关系。 继承:即“is – a”关系。例如Car与Trash_car的关系。 实现:指的是一个类元描述了另一个类元保证实现的契约。对类来说,就是一个类实现了一个接口。 # 本章内容 3.1 面向对象编程基础 3.2 类的编程实现 3.3 对象的构造与使用 3.4 包 类定义 Java中,类定义的基本语法如下: [Specifier] class ClassName [extends SuperClassName] [implements InterfaceName] { //类的成员变量定义 //类的方法定义 … } 域的定义 域(属性/字段)定义的方式如下: [Specifier] type variableName; 例如: int x = 3, y; //定义了整型变量x和y Date today; //定义了Date型类变量today Char [ ] m; //定义了字符型数组变量x和y 方法的定义 方法由方法头和方法体构成,方法定义的语法如下: [Specifier] returnType methodName([parameterList]) { //方法体 } 例如: private void addStudent(Person person) { students.add(person); } 方法的参数 参数名可以与类的域名相同,如果相同,那么参数名将在方法体内隐藏同名的成员变量。例如: public class Rectangle{ double x; double y; double computeArea(double x, double y){ double s = 0; s = x * y; return s; } } 封装的注意事项 注意:不要编写返回引用可变对象的访问器方法。 public class Employee { …… public Date getHireDay( ) { return hireDay; } private Date hireDay; } 当遇到下面的代码,就能使hireDay字段的封装性被破坏: E

文档评论(0)

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

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

1亿VIP精品文档

相关文档