Java就业培训教程第三章.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章 面向对象(上) 在早期出现编程语言中,如大家都非常熟悉的C语言,当我们要用这种语言来定义一个Windows窗口时,可以用结构体(struct)来实现,只要在结构体中定义窗口的大小,位置,颜色,背景等属性就可以了。如果我们要对一个indows窗口进行各种操作,如隐藏窗口,移动窗口,最小化窗口等等,我们要为每个操作都定义一个函数,这些函数与窗口本身的定义没有任何关系,如HideWindow,MoveWindow,MinimizeWindow,这些函数都需要接受一个参数,即要操作的窗口。这是一种谓语与宾语的关系,隐藏、移动等是谓语,窗口是宾语。程序的重心集中在函数(即谓语)上。 .1.2 面向对象 在++,java语言中,我们可以将一个窗口当作一个主体(对象)来看,定义窗口时,除了要指定在面向过程中规定的那些属性,如大小,位置,颜色,背景等外,还要指定该窗口可能具有的动作,如隐藏,移动,最小化等。我们在定义窗口时,就要定义好对应这些动作的函数(也叫方法),如Hide,Move,Minimize,注意体会这些函数名称与上面的名称的区别,这是作者刻意这么安排的,让读者更好地去对比,从函数名称上就能看出,这些函数都不再接受代表窗口的参数。这些函数被调用时,都是以某个窗口要隐藏,某个窗口要移动,某个窗口要最小化的语法格式来使用的。这是一种主语与谓语的关系,程序的重点集中在主体/对象(主语)上。虽然读者在下面的讲解中能够发现面向对象的知识远不止这一点(刚才讲的只是面向对象的一个方面,即封装性,用类封装了数据与函数),真正能体现面向对象的强大优势的地方,是在面向对象的继承与多态性方面,但作者认为,封装性是面向对象的根源和最根本的属性。 Java类同其他面向对象的编程语言一样,也支持面向对象(OOP)的三个特征: 封装 (Encapsulation) 继承 (Inheritance) 多态 (Polymorphism) 要想领悟面向对象的思想,不能把重点放在术语的死记硬背上,形而上学,而应该把精力放在实践和思考上,通过大量实践去理解和掌握。 如果读者到现在还不能完全明白面向对象是什么,也没关系,学完下面的内容后,再回过头来看吧! 面向对象的编程思想力图使在计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能的一致,类(class)和对象(object)就是面向对象方法的核心概念。类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称实例(instance)。 图3.1是个典型的说明:其中,汽车设计图就是类,就是按照该类产生的对象。可见,类描述了对象的属性和对象的行为类是对象的模板、图纸。对象(Object)是类(Class)的一个实例(Instance),是一个实实在在的个体,一个类可以对应多个对象。如果将对象比作汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。 同一个类按同种方法产生出来多个对象,刚开始的状态都应该是一样的,好比按照奔驰s600型设计图纸生产出来的汽车刚开始都是一样的,一辆奔驰s600汽车被改装后,是不会影响到同型号的其他奔驰s600汽车的。但如果修改了奔驰s600型的设计图纸,就会影响到以后所有出厂的奔驰s600汽车。 class Person { int age; void shout() { System.out.println(“oh,my god! my age is “ + age); } } 其中,定义了一个Person类,该类有一个属性age,一个方法shout。类的属性也叫类成员变量,类的方法也叫类的成员函数。一个类中的方法可以直接访问同类中的任何成员(包括成员变量和成员函数),如shout方法可以直接访问同一个类中的age变量。 (class Person { int age;//这是一个成员变量 void shout() { int age=60;//这是函数内部又重新定义的一个局部变量 System.out.println(“oh,my god! my age is “ + age); } } 在这里,shout方法的System.out.println(“oh,my god! “ + age);语句所访问的age就不再是成员变量age,而是在shout方法中定义的局部变量age。 光有设计图是无法实现汽车的功能的,只有产生了实际的汽车才行,同样的,要想实现类的属性和行为,必须创建具体的对象。 要创建新的对象,需要使用new关键字和想要创建对象的类名,如: Person p1 = new Person(); 等号左边以类名Person做为变量类型定义了一个变量p1

文档评论(0)

smdh + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档