java就业培训教程第三章 面向对象(上)

java就业培训教程第三章 面向对象(上)

ID:18839371

大小:1.50 MB

页数:45页

时间:2018-09-25

java就业培训教程第三章 面向对象(上)_第1页
java就业培训教程第三章 面向对象(上)_第2页
java就业培训教程第三章 面向对象(上)_第3页
java就业培训教程第三章 面向对象(上)_第4页
java就业培训教程第三章 面向对象(上)_第5页
资源描述:

《java就业培训教程第三章 面向对象(上)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章面向对象(上)3.1面向对象的概念面向对象是令大多数人都只可意会,难以言宣的大概念。我下面的讲解主要是冲着帮你迅速理解面向对象的内涵而来的,不见得非常严谨和完全正确,但我个人认为是合理的,是我的体会和认识,我也曾经用过同样的方式,让许多人仿佛一下子就明白了什么是面向对象。什么是面向对象,这是一个相对概念,是相对面向过程而言的。就象要理解什么是幸福,要先理解什么是痛苦一样的道理,在讲解面向对象之前,我要先简单介绍一下什么是面向过程。3.1.1面向过程在早期出现的编程语言中,如大家都非常熟悉的C语言,当我们要用这种

2、语言来定义一个复杂的数据类型,譬如Windows窗口时,可以用结构体(struct)来实现,只要在结构体中使用那些基本的数据类型来定义窗口的大小,位置,颜色,背景等属性就可以了。如果我们要对一个Windows窗口进行各种操作,如隐藏窗口,移动窗口,最小化窗口等等,我们要为每个操作都定义一个函数,这些函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个参数,即要操作的窗口。这是一种谓语与宾语的关系,“隐藏”、“移动”等是谓语,“窗口”是宾语

3、。程序的重心集中在函数(即谓语)上。3.1.2面向对象在C++,java语言中,我们可以将一个窗口当作一个主体(对象)来看,定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作,如隐藏,移动,最小化等。我们在定义窗口时,就要定义好对应这些动作的函数(也叫方法),如Hide,Move,Minimize,注意体会这些函数名称与上面的名称的区别,这是作者刻意这么安排的,让读者更好地去对比,从函数名称上就能看出,这些函数都不再接受代表窗口的参数。这些函数被调用时,都是以

4、某个窗口要隐藏,某个窗口要移动,某个窗口要最小化的语法格式来使用的。这是一种主语与谓语的关系,程序的重点集中在主体/对象(主语)上。虽然读者在下面的讲解中能够发现面向对象的知识远不止这一点(刚才讲的只是面向对象的一个方面,即封装性,用类封装了数据与函数),真正能体现面向对象的强大优势的地方,是在面向对象的继承与多态性方面,但作者认为,封装性是面向对象的根源和最根本的属性。Java类同其他面向对象的编程语言一样,也支持面向对象(OOP)的三个特征:u封装(Encapsulation)u继承(Inheritance)u多

5、态(Polymorphism)要想领悟面向对象的思想,不能把学习重点放在术语的死记硬背上,形而上学,而应该把精力主要放在实践和思考上,通过大量实践去理解和掌握。如果读者到现在还不能完全明白面向对象是什么,也没关系,学完下面的内容后,再回过头来看吧!1063.2类与对象面向对象的编程思想力图使在计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致,类(class)和对象(object)就是面向对象方法的核心概念。类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称实例(i

6、nstance)。如图3.1所示就是一个典型的说明:图3.1其中,汽车设计图就是“类”,由这个图纸设计出来的若干的汽车就是按照该类产生的“对象”。可见,类描述了对象的属性和对象的行为,类是对象的模板、图纸。对象(Object)是类(Class)的一个实例(Instance),是一个实实在在的个体,一个类可以对应多个对象。如果将对象比作汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。同一个类按同种方法产生出来多个对象,刚开始的状态都应该是一样的,好比按照“奔驰s600”型设计图纸

7、生产出来的汽车刚开始都是一样的,其中一辆“奔驰s600”汽车被改装后,是不会影响到同型号的其他“奔驰s600”汽车的。但如果修改了“奔驰s600”型的设计图纸,就会影响到以后所有出厂的“奔驰s600”汽车。3.2.1类的定义类可以将数据和函数封装在一起,其中数据表示类的属性,函数表示类的行为。定义类就是要定义类的属性与行为(方法)。请看这段代码:classPerson{intage;voidshout(){System.out.println(“oh,mygod!myageis“+age);}}106其中,定义了一个

8、Person类,该类有一个属性age,一个方法shout。类的属性也叫类成员变量,类的方法也叫类的成员函数。一个类中的方法可以直接访问同类中的任何成员(包括成员变量和成员函数),如shout方法可以直接访问同一个类中的age变量。M脚下留心:如果一个方法中有与成员变量同名的局部变量,该方法中对这个变量名的访问是局部变量,而不再是成员变量。如:c

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

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

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