- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、面向对象思想的由来
“对象”一词在现实生活中经常会遇到,它表示现实世界中的某个具体的事物。
“面向对象”技术追求的是软件系统对现实世界的直接摸拟,尽量实现将现实世界中的事物直接映射到软件系统的空间。它希望用户用最小的气力,最大程度地利用软件系统来解决问题。
现实世界中的事物可分为两大部分,即物质和意识,物质表达的是具体的事物;意识描述的是某一个抽象的概念。例如“自行车”和“这辆白色的自行车”,“ 这辆白色的自行车”是物质,它是具体的客观存在;“自行车”是意识,它是一个抽象的概念,是对客观存在的事物的一种概括。这些现实世界中的事物可直接映射到面向对象系统的空间,现实世界中的物质可对应于面向对象系统中的“对象”,现实世界中的意识可对应面向对象系统中的抽象概念---类。
现实问题空间 面向对象空间 物质:
一辆白色的自行车 具体事物:
一个对象------自行车的实例 意识:
自行车 抽象概念:
自行车类
二、面向对象的概念
面向对象的编程思想力图使在计算机语言中对事物的描述与现实世界中该事物的本来面目尽可能地一致,类(class)和对象(object)就是面向对象方法的核心概念。类是对某一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称为实例(instance)。
(汽车设计图)
其中,汽车设计图就是“类”,由这个图纸设计出来的若干的汽车就是按照该类产生的“对象”。可见,类描述了对象的属性和对象的行为,类是对象的模板、图纸。对象(object)是类(class)的一个实例(instance),是一个实实在在的个体,一个类可以对应多个对象。如果将对象比汽车,那么类就是汽车的设计图纸。所以面向对象程序设计的重点是类的设计,而不是对象的设计。
同一个类按同种方法产生出来多个对象,刚开始的状态都应该是一样的,好比按照“奔驰S600”型设计图纸生产出来的汽车刚开始都是一样的,其中一辆“奔驰S600”汽车被改装后,是不会影响到同型号的其他“奔驰S600”汽车。但如果修改了“奔驰S600”型的设计图纸,就会影响到以后所有出厂的“奔驰S600”汽车。
1、类的定义
类可以将数据和函数封装在一起,其中数据表示类的属性,函数表示类的行为。定义类就是要定义类的属性与行为(方法)。
class person
{
int age;
void shout( )
{ System.out.println(“oh,my god! My age is”+age);
}
}
其中,定义了一个person类,该类有一个属性age,一个方法shout。类的属性也叫类成员变量,类的方法也叫类的成员函数。一个类中的方法可以直接访问同类中的任何成员(包括成员变量和成员函数),如shout方法可以直接访问同一个类中的age变量。
2、对象的产生与使用
仅有设计图是无法实现汽车的功能的,只有产生了实际的汽车才行,同样地,要想实现类的属性和行为,必须创建具体的对象。
要创建新的对象,需要使用new关键字和想要创建对象的类名,如:
person p1=new person();
等号左边以类名person作为变量类型定义了一个变量p1,来指向等号右边通过new关键字创建的一个person类的实例对象,变量p1就是对象的名称。
创建新的对象之后,就可以使用“对象名﹒对象成员”的格式,来访问对象的成员(包括属性和方法),下面的程序代码演示了person类对象的产生和使用方式。
class testPerson
{ pubic static void main(String args[])
{ person p1=new person();
person p2=new person();
p1.age=-30;
p1.shout();
p2.shout();
}
}
运行结果:
Oh,my god! My age is -30
Oh,my god! My age is 0
上面的程序代码,在testPerson方法中创建了两个person类的对象,并定义了两个person类的对象p1、p2。接着,程序调用了p1和p2的方法和属性,p1、p2是两个完全独立的对象,类中定义的成员变量,在每个对象都被单独实例化,不会被所有的对象共享,改变了p1的age属性,不会影响p2的age属性。调用某个对象的方法时,该方法内部所访问的成员变量,是这个对象自身的成员变量。
每个创建的对象都有自已的生命周期,对象只能在其有效的生命周期内被使用,当没有引用变量指向某个对象时,这个对象就会变成垃圾,不能再被使用。
person用效范
文档评论(0)