




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象的概念 v所谓面向对象的方法,就是使我们分析、设计和实现一个 系统的方法尽可能自然地使用我们在生活中用到的以对象为中 心的思想,分析、认识、设计一个系统的方法。包括: 面向对象的分析(OOA, Object-Oriented Analysis) 面向对象的设计(OOD, Object-Oriented Design ) 面向对象的程序设计(OOP, Object-Oriented Program) v面向对象技术主要围绕以下几个概念讨论: 对象的封装(抽象数据类型)、类与对象、 继承 性、多态性。 Date 1 变量 方法 面向对象的概念 v 对象(Object) 有两个层次的概念: 现实生活中对象指的是客观世界的实体,它由状 态(State)和行为(Behavior)构成 ; 程序中对象是现实世界对象的模型,是一组变量 和相关方法的集合。变量(Variables)表示现实对象 的状态,方法(Methods)表现现实世界对象的行为,这 些变量和方法叫做这个对象的成员(Member)。 Date 2 现实生活中的对 象 Class Car int color_number; int door_number; int speed; void brake() void speedUp() void slowDown() 抽象数据类型 面向对象的概念 可将现实生活中的对象 经过抽象,映射为程序中的对 象。对象在程序中通过一种抽 象数据类型来描述,就称为类 (Class)。 Date 3 面向对象的概念 v 类(Class) 类是描述对象的“基本原型”,它定义一类对象所 能拥有的数据和能完成的操作。在面向对象的程序设 计中,类是程序的基本单元。 相似的对象可以归并到同一个类中去,就像传统 语言中的变量与数据类型关系一样。 v对象 程序中的对象是类的一个实例,是一个软件单元 ,它由一组结构化的数据和在其上的一组操作构成。 Date 4 Car car1; Car car2; Car carN; 面向对象的概念 Date 5 对象B 对象 A 消息 面向对象的概念 v类的变量(Class Variables):指对象的所具有的状态或特 征。 v类的方法(Class Methods):指对象的功能单元。 v消息(Message): 软件对象通过相互间传递消息来相互作用和通信 ,一个消息由三部分组成: 1. 发送消息的对象 2. 接收发送消息 (调用发送对象的方法) 3. 方法需要的参数 Date 6 v一个例子 v在程序中操作对象是类的一个实例。 创建一个对象: Hello obj=new Hello(); 调用方法: obj.showString(); class Hello private String s; public void showString() System.out.println(s); public void changeString(String str) s = str; 变量方法 showString() 方法 changeString() 面向对象的概念 Date 7 面向对象的概念 v 为什么使用类 采用简单数据类型表示现实世界中概念存在一些 局限性。 例如:采用int型数据表示一个日期概念,需要 使用3个变量: intday, month, year; 如果要表示2个人的生日,就要使用6个变量: int mybirthday, mybirthmonth, mybirthyear; int yourbirthday,yourbirthmonth,yourbirthyear; Date 8 class BirthDate private int day,month,year; public int tomorrow() BirthDate mybirth, yourbirth; 面向对象的概念 将变量和方法封装在一个类 中,可以对成员变量进行隐藏 ,外部对类成员的访问都通过 方法进行,能够保护类成员不 被非法修改。 BirthDate date; 已知当前日期对象,求第2天的日期对象: date.day =date.day+1; 如果date.day已经为31,操作结果是非法状态。可以定义一 个成员方法tomorrow(),求第2天的日期对象。外部要获得 当前日期的后一天时,只要调用:date.tomorrow(); Date 9 对象A对象B 私有数据 方法 方法 数据 公有数据 面向对象的概念 v封装(Encapsulation ) 封装把对象的所有组成部分组合在一起。封装定义 程序如何引用对象的数据,实际上是用方法将类的数据隐藏 起来,控制用户对类的修改和访问数据的程度。封装利于模 块化和信息隐藏。 Date 10 bicycle (Super class) Mountain bikes Racing bikes Tandem bikes Subclass 1、面向对象的概念 v子类(Subclass) 子类是作为另一个类的扩充或修正而定义的一个 类。 Date 11 class Car int color_number; int door_number; int speed; public void push_break() public void add_oil() class Trash_Car extends Car double amount; public void fill_trash() 面向对象的概念 v继承(Inheritance) 一个类从另一个类派生出来的过程叫继承。这个 类叫子类(派生类),而被继承的类叫该类的超类(父类) 继承的子类可利用父类中定义的方法和变量,就 像它们属于子类本身一样。也可以改变继承来的方法 和变量。 Date 12 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; 面向对象的概念 v方法的覆盖(override) 在子类中重新定义父类中已有的方法。 Date 13 类 void show(int int_num) void show(double double_num) void show(int int_num, float float_num) 123 1.23 123,1.23 面向对象的概念 v方法的重载(Overload) 在同一个类中至少有两个方法用同一个名字,但有 不同的参数列表。 使用重载方法时,Java编译器根据传递给这个参数 的数目和类型确定正确的方法。 重载实现了对象的多态
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南快消品策划营销方案
- 咸宁团建活动策划方案公司
- 说明文知识总结
- 赣州税务筹划咨询方案
- 2025年营养师鉴定考试冲刺指南:实操技能强化与理论巩固试卷
- 城市智慧化发展案例分析
- 2025年度深基坑专项方案测试卷及答案
- 2024年水利设施管养人员练习题及参考答案详解(完整版)
- 2025年医师定期考核模考模拟试题及参考答案详解(突破训练)
- 2024年安全员考试通关考试题库含完整答案详解(各地真题)
- 第1课 认识工具教学设计-2025-2026学年小学书法西泠版三年级上册-西泠版
- 教师网络安全培训会课件
- 2024年中国中信金融资产江西分公司招聘2人笔试模拟试题附答案详解(研优卷)
- 体育模拟上课培训课件
- 标准件供货协议合同范本
- 纳税申报流程课件
- 2025年秋期新教科版四年级上册小学科学教学计划+进度表
- 2025新疆维吾尔自治区人民检察院招聘聘用制书记员(14人)笔试参考题库附答案解析
- 循环水泵设备安装方案详细指导
- 2024年喀什经济开发区兵团分区招聘真题
- 作风建设永远在路上教学课件
评论
0/150
提交评论