面向对象编程的基本概念

面向对象编程的基本概念

ID:39425554

大小:2.11 MB

页数:48页

时间:2019-07-03

面向对象编程的基本概念_第1页
面向对象编程的基本概念_第2页
面向对象编程的基本概念_第3页
面向对象编程的基本概念_第4页
面向对象编程的基本概念_第5页
资源描述:

《面向对象编程的基本概念》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章面向对象程序设计基本概念面向对象的程序设计(OOP)已成为现代软件开发的必然选择。通过掌握面向对象的技术,能开发出复杂、高级的系统,这些系统是完整健全的,但又是可扩充的。OOP是建立在把对象作为基本实体看待的面向对象的模型上的,这种模型可以使对象之间能相互交互作用。面向对象程序设计在一个好的面向对象程序设计语言(OOPL)的支持下能得到最好的实现。Java就是一种优秀的OOPL,它提供了用来支持面向对象程序设计模型所需的一切条件。Java有自己完善的对象模型,并提供了一个庞大的Java类库,并有一套完整的面向对象解决方案和体系结构。本章介绍面向对象的

2、概念和对象建模的方法,讲解Java对象模型中的核心部分:类及类的成员。使读者学会如何用创建和使用Java对象。23.1对象定义:一个对象就是变量和相关方法的封装,其中变量表明对象的状态,方法表明对象的行为。软件对象既可以模拟现实世界的对象,也可以表示抽象的概念对象示意图33.1对象封装:能把对别的对象来说并不重要的对象的实现细节隐蔽起来,在使用一个对象时,只需知道怎样引用它的方法而无须知道它的具体实现。封装的优点:模块化—一个对象的源代码的编写和维护独立于其它对象的源代码。而且,对象在系统中很容易使用。信息隐蔽—每个对象都有一个公共接口使得其它对象可以与其

3、通讯。但对象能维护自己的私有信息和方法并能在任何时候改变它们而不会影响使用它的其它对象。3.1对象(SmallTalk的特征)(1)所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。(2)程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。(3)每个对象都有自己的存储空间,可容纳其他对象。(4)每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。其中,“类”(Class)是“类型”(Type)的同义词。一个类最重要的特征就是“能将什么消息发给它?”(5)同一类所有对象都能接收相同的消息。3.

4、1对象理解对象使用对象对象之间的关系面向对象程序设计中的对象与客观世界中的对象并不是完全相同的概念,他们既有联系又有区别。所以深刻理解编程中的对象本质将有利于实践面向对象编程和开发。3.1.1理解对象对象可以视为一组相关的操作代码和数据的组合对象是类的实例对象可以互相协作,共同完成任务通过继承、组合或封装等方式可以产成新的对象对象根据特定的意义和用途有不同的划分方法3.1.2使用对象:设计果园系统一个面向对象的果园系统假设我们要开发一个最简单的果园系统GardenSys。用面向对象的方法来分析,这个果园系统至少包括园丁和水果这两个对象。园丁的工作包括种植各

5、种水果,水果的行为包括生长和收获,不同的水果还有不同的名称。园丁种植水果,园丁与水果存在关联关系。3.1.2使用对象:对象的创建和销毁对象是通过类创建的,对象是类的动态实例。每个对象都有生命期。一个对象按其生命期来分析,一般有三个阶段,出生、活动、死亡。而我们在编程中要做的对应为:创建(初始化)、运行、销毁。通常,当调用构造函数时,该函数返回一个新分配内存并初始化了的类的实例。Java构造函数是一种比较特殊的函数,它不能由用户来指定返回类型,只能返回所属类的类型;它也不能由用户来指定其它名称,只能使用与类名相同的名称。即便如此,我们仍然可以通过方法的重载(

6、overload)来为一个类提供多个不同的构造函数。在Java中没有用于销毁和清理对象的析构函数,因为Java提供了垃圾回收(GarbageCollection,简称gc)机制负责释放对象所占用的内存空间及相关的其它资源。3.1.2使用对象:对象和对象变量从语义上讲,对象是类的实例,类是创建对象的模板;从语言上讲,对象也是类这种数据类型的变量,对象在内存中占有空间。但是在具体使用中,对象与传统的变量,也就是Java中基本类型的变量有区别。对象是一种引用类型。对象由类创建,存储在堆中;而对象变量则是对象的引用,存储在栈中。在程序中我们通过对象变量,也就是对象

7、的引用,来操纵对象。引用类型的演示:MyClassa,b;//声明MyClass类型的变量a和b,MyClass是一个Java类a=newMyClass();//变量a引用了MyClass类创建的对象实例a.myvar=24;//给对象实例的字段myvar赋值b=a;//变量b得到的是变量a的一个引用的副本,//结果使他们都引用了同一个对象实例。a.myvar=a.myvar+1;//改变对象字段的值System.out.println(a.myvar);//此时显示a.myvar值为25System.out.println(b.myvar);//此时显示

8、b.myvar值也为253.1.3对象之间的关系对象之间的关系有:

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

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

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