3.4  类和对象初探

类和对象,或classesobjects,首先是对现实世界事物的客观反映和概括性描述。也是把工程设计和制造过程引申到软件设计和开发中的一次成功尝试。从把数据和操作分开设计的面向过程的编程,如C语言,到把数据和操作封装到一个被称为类的程序体的面向对象的编程,如Java,是软件工程从初具雏形到成熟发展的重要里程碑。所以,类和对象是面向对象编程的主要概念和重要组成部分。我们在这一章节中从新手的角度,讨论类和对象的一些基本概念和编程技术。在以后的章节中还将深入介绍面向对象编程的各种重要概念、程序设计技术,以及应用实例。
更多信息  这是个充满类和对象的奇妙世界!它们无时不在,无处不有;仰观太空,那天体不是类吗?那太阳、月亮不正是对象吗?给你一缕阳光就会灿烂;给你一片月光就会生情。此时此刻,细细回味儿,属性和方法已尽在其中了!
 

3.4.1  新手理解类和对象

我们在现实生活中经常可以观察到类和对象,这一对有密切关系的现象。就拿我们人来说事,就具体个人来讲,你、我、她,张三、李四、王麻子,这些具体的人就是对象;而对人的抽象描述,包括对形态的概括(四肢、五官、躯体、肤色、身高体重等),以及对功能的概括(记忆功能、消化功能、循环功能、生殖功能等),就是类。人这个类,或简称人类,无论是你我她,张三李四王麻子,都可以把他们概括到形态定义和功能描述这两个    方面。
一个相声剧本就是类,具体的演员,侯宝林、郭全富,马季、唐杰忠,包括他们的服装道具、演出场景就是对象。无论谁演这段相声,剧本对服装道具,演出场景都有一个概括性要求。这种对对象形态的概括性要求,在程序设计中称为属性。而剧本中的笑料、抖包袱技巧、语言的应用、捧哏逗哏安排称为功能。
你的车,我的车,她的车,具体的车就是对象,而设计制造车的蓝图就是类。车的品牌款式,颜色大小等,是这类车的属性。车的发动系统、加速系统、传输系统,以及排气系统,就是这类车的功能。
张三的电脑,李四的电脑,王麻子的电脑,都是电脑对象,设计制造电脑的蓝图就是电脑类。CPU规格,内存、外存大小、显示屏尺寸、外观颜色,是这个类的属性。操作系统、文字处理系统、屏保功能、电源系统等,就是这类电脑的功能。
读者朋友,您也一定可以依此类推,列举出更多的例子。那么,在Java程序中,怎样创建对象呢?假设我们已经有了一个名为Car的类,下列语句:
 
Car myCar = new Car();  //创建一个名为myCar的对象
 
就具体地创建了一个名为myCar的对象。我们称“new”为Java创建对象的操作符,简称new操作符。它的语法格式为:
 
ClassName objectName = new ClassName();
 
其中,
ClassName ——类名。
       objectName ——要创建的对象名。
       new——创建对象操作符。
对象myCar则拥有了所有Car类的属性和功能。 当我们对myCar这个对象的变量,如ownerName, model, engineSizetransmissionTypeseatsdoorNum,等初始化之后,这个车对象myCar就是一辆具体的车了。当我们调用这个车的方法时,就可以进行各种运行和操作了。
3W (What, Why and How)  类是对象的抽象描述;类是对象的设计蓝图;类是制造对象的模块。属性是对类的形态规范的定义;而功能是确定类所执行的运算和操作。在编程中,我们称属性为类变量;称功能为方法。统称类变量和方法为类成员。