欢迎来到天天文库
浏览记录
ID:38302082
大小:654.50 KB
页数:136页
时间:2019-06-08
《面向对象与Java程序设计(设计基础 、类与对象、继承与多态)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、1面向对象的概念v所谓面向对象的方法,就是使我们分析、设计和实现一个系统的方法尽可能自然地使用我们在生活中用到的以对象为中心的思想,分析、认识、设计一个系统的方法。包括:Ø面向对象的分析(OOA,Object-OrientedAnalysis)Ø面向对象的设计(OOD,Object-OrientedDesign)Ø面向对象的程序设计(OOP,Object-OrientedProgram)v面向对象技术主要围绕以下几个概念讨论:Ø对象的封装(抽象数据类型)、类与对象、继承性、多态性。2021-7-18
2、2:38第2页面向对象的概念v对象(Object)有两个层次的概念:Ø现实生活中对象指的是客观世界的实体,它由状态(State)和行为(Behavior)构成;Ø程序中对象是现实世界对象的模型,是一组变量和相关方法的集合。变量(Variables)表示现实对象的状态,方法(Methods)表现现实世界对象的行为,这些变量和方法叫做这个对象的成员(Member)。变量方法2021-7-182:38第3页面向对象的概念抽象数据类型可将现实生活中的对象经过抽象,映射为程序中的对象。ClassCar对象在程
3、序中通过一种抽象数{据类型来描述,就称为类intcolor_number;(Class)。intdoor_number;intspeed;voidbrake(){…}voidspeedUp(){…}voidslowDown(){…}}现实生活中的对象2021-7-182:38第4页面向对象的概念v类(Class)类是描述对象的“基本原型”,它定义一类对象所能拥有的数据和能完成的操作。在面向对象的程序设计中,类是程序的基本单元。相似的对象可以归并到同一个类中去,就像传统语言中的变量与数据类型关系一样。
4、v对象程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。2021-7-182:38第5页面向对象的概念Carcar1;Carcar2;…………CarcarN;2021-7-182:38第6页面向对象的概念v类的变量(ClassVariables):指对象的所具有的状态或特征。v类的方法(ClassMethods):指对象的功能单元。v消息(Message):软件对象通过相互间传递消息来相互作用和通信,一个消息由三部分组成:1.发送消息的对象消息2.接收发送消息(
5、调用发送对象的方法)3.方法需要的参数对象B对象A2021-7-182:38第7页面向对象的概念classHello变量方法v一个例子{showString()privateStrings;publicvoidshowString(){方法System.out.println(s);changeString()}publicvoidchangeString(Stringstr){s=str;}}v在程序中操作对象是类的一个实例。创建一个对象:Helloobj=newHello();调用方法:obj.
6、showString();2021-7-182:38第8页面向对象的概念v为什么使用类采用简单数据类型表示现实世界中概念存在一些局限性。例如:采用int型数据表示一个日期概念,需要使用3个变量:intday,month,year;如果要表示2个人的生日,就要使用6个变量:intmybirthday,mybirthmonth,mybirthyear;intyourbirthday,yourbirthmonth,yourbirthyear;2021-7-182:38第9页面向对象的概念classBirt
7、hDate{将变量和方法封装在一个类privateintday,month,year;中,可以对成员变量进行隐藏,publicinttomorrow(){外部对类成员的访问都通过方……法进行,能够保护类成员不被}非法修改。}BirthDatemybirth,yourbirth;BirthDatedate;已知当前日期对象,求第2天的日期对象:date.day=date.day+1;如果date.day已经为31,操作结果是非法状态。可以定义一个成员方法tomorrow(),求第2天的日期对象。外部要
8、获得当前日期的后一天时,只要调用:date.tomorrow();2021-7-182:38第10页面向对象的概念v封装(Encapsulation)封装把对象的所有组成部分组合在一起。封装定义程序如何引用对象的数据,实际上是用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。封装利于模块化和信息隐藏。公有数据数据私有数据对象A对象B方法方法2021-7-182:38第11页1、面向对象的概念v子类(Subclass)子类是作为另一个类的扩充或修正而定义的一
此文档下载收益归作者所有