如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第三章Java与面向对象技术面向对象技术主要围绕以下几个概念:对象、类、子类、继承性、封装、多态性。对象有两个层次的概念:现实生活中对象指的是客观世界的实体;程序中对象就是一组变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。现实生活中的对象类是描述对象的“基本原型”,它定义一类对象所能拥有的数据和能完成的操作。在面向对象的程序设计中,类是程序的基本单元。相似的对象可以归并到同一个类中去,就像传统语言中的变量与类型关系一样。程序中的对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。变量:指对象所具有的状态。方法:指对象的功能单元。消息软件对象通过相互间传递消息来相互作用和通信,一个消息由三部分组成:1.接收消息的对象2.接收对象要采取的方法3.方法需要的参数一个例子在程序中所操作的对象是类的一个实例。创建一个对象:Helloobj=newHello();调用方法:obj.showString();调用对象的方法相当于给对象发送消息,收到消息的对象通过改变自身的状态或者向其它对象发送消息来响应消息。为什么要使用类?采用简单数据类型表示现实世界中概念存在很大的局限性。例如:采用int型数据表示一个日期概念,需要使用3个变量:intday,month,year;如果要表示2个人的生日,就要使用6个变量并且在使用中必须时刻注意三者的联系和约束关系同时在使用日期概念时要同时对三个变量进行访问使用类可以把现实问题中的对象映射为程序中的一个整体——类。类中不但有变量,还有与之相关的操作所定义的方法。将变量和方法封装在一个类中,可以对成员变量进行隐藏,外部对类成员的访问都通过方法进行,能够保护类成员不被非法修改。封装把对象的所有组成部分组合在一起子类是作为另一个类的扩充或修正而定义的一个类。继承是子类利用父类中定义的方法和变量,就像它们属于子类本身一样。方法的覆盖覆盖使得在子类中可以重新定义父类中已有的方法,从而体现出子类自己的行为。重载指得是在同一个类中至少有两个方法用同一个名字,但有不同的参数。类、方法、变量定义的语法规范对象的创建和使用继承、覆盖、重载、多态等概念内嵌类(innerclass)3.2Java中的类、方法和变量——类定义的语法规范[变量修饰字]变量数据类型变量名1,变量名2[=变量初值]…;[方法修饰字]返回类型方法名称(参数1,参数2,…)[throwsexceptionList]{…(statements;)//方法体:方法的内容}classA{staticvoidchange(Strings,StringBuffersb){s=“aaaa”;//此语句不起作用sb.setLength(0);sb.append(“aaaa”);}publicstaticvoidmain(Stringargs[]){Strings=“bbbb”;StringBuffersb=newStringBuffer(“bbbb”);change(s,sb);System.out.println(s);System.out.println(sb);}}一个简单的类(1)对象的生成通过new操作符生成一个对象;例如:CardemoCar;demoCar=newCar();(2)对象的构造过程为对象开辟空间,并对对象的成员变量进行缺省的初始化;对成员变量进行指定的初始化;调用构造方法。(3)对象的使用对象的使用是通过一个引用类型的变量来实现,包括引用对象的成员变量和方法,通过运算符·可以实现对变量的访问和方法的调用。例如:BirthDatedate;intday;day=date.day;//引用date的成员变量daydate.tomorrow();//调用date的方法tomorrow()类的继承classTrashCarextendsCar{intcapacity;voidset_capacity(inttrash_car_capacity){capacity=trash_car_capacity;}voidshow_capacity(){System.out.println(“Mycapacityis:”+capacity);}}Car是父类,TrashCar是子类。TrashCar中继承了Car中的两个方法,同时又增加了两个新方法。继承性是面向对象程序设计语言的另一基本特征,通过继承可以实现代码的复用。继承而得到的类为子类,被继承的类为父类,父类包括所有直接或间接被继承的类。Java中不支持多重继承。通过在类的声明中加入ex