欢迎来到天天文库
浏览记录
ID:38966960
大小:770.31 KB
页数:36页
时间:2019-06-22
《Java程序设计——04面向对象的基本概念》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学与技术学院赵志崑zhaozk@sdfi.edu.cnJava程序设计面向对象的方法面向对象的程序设计程序的基本构件是类和对象,不是过程或函数面向对象的分析类和对象是名词,过程是动词面向对象的方法更接近人的思维方式提高软件开发效率面向对象的程序设计只是一个环节分析、设计、编码、维护Java的面向对象特性初级特性:基本的概念,即类和对象。中级特性:核心的机制,即封装、继承和多态。高级特性:由初级特性和中级特性引出的一些问题,如构造函数的使用、覆盖的规则、静态变量和函数等。类和对象面向对象技术最基本的概念是类和对象:类是一个样板,以操作
2、、表示和算法的形式完整地定义了一组对象的行为。它通常也是面向对象语言中的模块化、封装和数据抽象的基础。对象是类的一个实例,是一个软件单元,它由一组结构化的数据和在其上的一组操作构成。变量方法对象抽象数据类型classCar{intcolorNumber;intdoorNumber;intspeed;voidbrake(){…}voidspeedUp(){…};voidslowDown(){…}}CarmyCar=newCar();myCar.speedUp();计算机中对象的原型现实生活中的对象类实际上为实际的物体在计算机中定义了一种抽象数
3、据类型。抽象数据类型是仅由数据类型和可能在这个数据类型上进行的操作定义的。使用者只能通过操作方法来访问其属性,不用知道这个数据类型内部各种操作是如何实现的。变量、方法和消息对象的三个基本要素:变量:指对象的数据,用来保存对象的状态,又称为实例字段。方法:指对象的功能单元。消息:软件对象通过相互间传递消息来相互作用和通信。对象B对象A消息一个消息由三部分组成:1.接受消息的对象2.要完成方法的名字3.方法需要的参数如myCar.speedUP();面向对象的程序设计所有东西都是对象。程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什
4、么。(分而制之)每个对象都有自己的存储空间,可容纳其他对象。(由小到大)每个对象都有一种类型。(举一反三)同一类所有对象都能接收相同的消息。类定义类采用下面的语句:class类名{成员定义}说明:类的成员包括变量和函数,而且可以有多个。成员函数可以使用成员变量。成员函数也可以调用其它成员函数。对于成员函数来说,成员变量类似于C++中的全局变量,但其作用范围仅限于类内部。一个类就划定了一个范围,在此范围内有“全局变量”和一些函数。classStudent{longid;chargender;intclassID;voidchangeClass
5、(intc){classID=c;}}类和源代码文件一个源文件中可以写多个类。和源文件名字相同的类叫作主类,只有主类声明前面可以有public。一个源文件中可以没有主类。将源文件编译后,每个类都会生成一个.class文件。构造函数构造函数是类的一个特殊的成员函数,用于初始化对象。函数名和类名相同不需要说明返回值类型(不是void)规则:每个类至少有一个构造函数,一个类可以有多个构造函数。如果没有为类定义构造函数,系统会自动为其定义一个缺省的构造函数,不带参数。一旦为类定义了构造函数,则系统不会再为其定义缺省构造函数。classStudent
6、{longid;chargender;intclassID;publicStudent(){id=0;gender='F';classID=0;}publicStudent(longaID,charaGender,intaClassID){id=aID;gender=aGender;classID=aClassID;}}对象和引用用类声明的变量不是对象,而是对象引用,简称引用。StudentxiaoZhang;//声明一个Student类型的引用声明引用并不创建对象,一个引用占4个字节,相当于对象指针创建对象须使用new运算符,格式是:ne
7、w类的构造函数;例如:newStudent();//创建一个Student对象,无参构造函数newStudent(1,‘M’,2);//有参数的构造函数让引用指向对象xiaoZhang=newStudent();通过引用访问对象,访问对象成员使用“.”运算符xiaoZhang.id=200328013203194L;xiaoZhang.changeClass(1);类、对象和引用的声明声明一个类:class类名{变量声明,方法声明}classStudent{longid;//学号chargender;//性别intclassID;//班级号
8、,注意不能用class作属性名voidchangeClass(intc){//更改班级classID=c;}}声明一个对象引用:类名引用名StudentxiaoZhang;创建一
此文档下载收益归作者所有