《Java程序设计基础》第5章:类与对象.ppt
《《Java程序设计基础》第5章:类与对象.ppt》由会员分享,可在线阅读,更多相关《《Java程序设计基础》第5章:类与对象.ppt(53页珍藏版)》请在三一办公上搜索。
1、第5章 类与对象,学习重点:类的定义方法是如何成为对象的对外接口的类的实例化Java Application的基本结构,本章逻辑结构,5.1 对象的实现 对象的结构 对象和类的关系 类的定义 对象的创建 程序结构及使用对象的成员 修饰符 再谈方法 对象间的赋值 构造函数 对象有效范围和废物回收 5.2 Java 应用程序的结构 应用程序结构 命令行参数 5.3 练习题,5.1 对象的实现,在面向对象的思想中,任何实体都看做对象。对象是通过对实体进行抽象得到的,它并不要求能面面俱到地反映一个实体,它只抽象出程序中用到的一些东西。但这个所谓的对象和程序中的什么样的结构相对应?程序是如何实现对象的呢
2、?这一节将解释这些内容。,5.1.1 对象的结构,程序中的对象是一个固定结构,它是由属性和方法组合在一起形成的。属性是实体的一些特征值或组件,方法用来表示实体的功能和动作,即它能进行什么操作,能产生什么动作。我们拿一台电力磨面机为例,说明程序中对象的结构。,磨面机有许多特征值,它也有许多组件,所有这些东西,如果程序需要的话,就用某个名称来代表它,形成属性,它们的值就是属性值,不同的属性可能属于不同的类型,例如:,float weight;/重量 float power;/功率 Electromotor electromotorA;/一个电机 其中,weight和power都是浮点型,而elec
3、tromotorA是Electromotor类型,它既是miller的一个属性,又是一个对象,且这个对象Electromotor类的一个实例,它也有自己的属性和 方法。,磨面机的功能就是磨面,我们就用一个方法来表示它,可取名为milling。我们把磨面看成是一个方法,其输入是wheat,输出是flour。属性和方法都放入一个整体的结构中,就形成了一个对象,可取名为millerA。millerA的属性和方法可以总结到下图中。,面向对象方法就是把任何事物都看做对象,都抽象成类似上面的一种结构。那么为什么要这样思考问题呢?,有了对象结构,外界就不能直接修改对象的属性,需要修改时必须通过对象的方法来间
4、接操作,对象通过自己的方法把自己的属性封装了起来,它与外界的联系都是通过方法来实现的,5.1.2 对象和类的关系,事实上,类与对象的关系如同图纸和实体一样。假设一个程序就是一台机器,它由许多零件组成,对象就相当于机器的一个个零件,类相当于不同零件的图纸。一台机器的制造是先画图纸,然后按照图纸制造零件,最后组装机器。Java程序也是这样,先定义一个个类,再按照类的模式建造对象(这一步称为类的实例化),最后用对象来完成程序功能。,5.1.3 类的定义,类的定义格式如下:修饰符 class 类名 extends 父类名 implements 接口名1,接口名2,类属性声明;类方法声明;其中以 括起的
5、内容表示定义时可以没有。以大括号括起的内容称类体,之前部分称类头,修饰符 class 类名 extends 父类名 implements 接口名部分就是类头。,1.类头说明,类头中关键词class表示类定义的开始,后面紧跟的是类名。修饰符用来说明类的特殊性质,如前面程序中的public等。关键词extends表示该类是个子类,它的父类名紧跟在extends后。关键词iplements表示该类实现了哪些接口,后面就是接口名。,2.类体说明,类体的说明包括两部分:属性说明和方法说明属性说明的格式如下:修饰符 变量的数据类型 变量名=初始值;/类属性为简单变量时修饰符 类名 对象名=new 类名(参
6、数列表);/类属性为对象时,类属性是简单变量时,这个变量可以不赋初值(这点和方法中的变量不同),这时它将被置为该数据类型的默认值。类属性为对象时,定义中的类名一定是另一个类,后面的对象就是该类名的实例。new 类名(参数列表)是指创建该对象,如果没用new,该句只说明了这个属性是某个类的对象,而并没有创建它。,5.1.4 对象的创建,要使用某一个类所定义的属性或方法时,必须先定义并创建这个类的一个对象,并用对象调用属性或方法,而不能直接用类去调用属性和方法。,定义对象的目的是声明某个对象属于某个类。创建对象是指在内存中按照类的模式开辟了一块区域,把属性和方法放到了这个区域中,系统这才可以从内存
7、中调用它们。,定义对象的格式如下:类名 对象名,对象名,;例如:Car myCar1,myCar2,myCar3;,创建对象称为类的实例化,它的格式如下:对象名=new 类名();例如:myCar1=new Car();/创建对象myCar1,如果定义和创建对象放在同一个语句,格式如下:类名 对象名=new 类名();例如:Car myCar4=new Car();/定义并创建对象myCar4把几个同类对象的定义和初始化放到一个句子中,格式如下:类名 对象名1=new 类名(),对象名2=new 类名();例如:Car myCar1=new Car(),myCar2=new Car(),myC
8、ar3=new Car();这两个语句的意思是在内存中按类Car的格式开辟一个空间,其中既有属性空间又有方法空间,同类的不同对象占有不同的内存空间,它们互不干扰。,我们来比较一下简单数据类型、数组和对象创建后在内存中的不同,a是简单数据类型,只要定义后就在内存中开辟了一定的空间。b是数组的内存空间,数组是以对象的形式存在,所以以关键词new来创建,它在内存中开辟连续的大小相同的空间,每个内存空间的大小对应于所定义的简单数据类型。c是对象的内存空间,从图上可以看出对象也只是一种复杂的数据类型,它用不同数的bit存放不同的属性,再用不同数的bit来存放它的不同方法,由此组成一个内存段,内存段中的格
9、式依据类的定义。,5.1.5 程序结构及使用对象的成员,这里有一个类的定义,只有一个属性:a,还有两个方法分别用设置和获取属性a的值。例5.1A 对象的创建和使用一public class SimpleClass/类的定义private int a;/属性public int getAttribute()/获取属性的方法return a;public void setAttribute(int x)/设置属性值的方法 a=x;,现在我们就用另一个类来创建上面类的对象,并使用该对象。,例5.1B 对象的创建和使用二public class UseSimpleClasspublic static
10、void main()SimpleClass object1=new SimpleClass();/创建对象object1object1.setAttribute(9);/使用对象的方法prt(Object1.getAttribute(9);/把对象的方法作为参数 传递给方法prt()static void prt(String s)System.out.println(s);,对象的使用就是指使用对象的成员(属性和方法),如果要使用对象的属性和方法采用这样的结构:对象名.成员,其中的“.”代表调用。例如:上面程序中的object1.setAttribute(9)就是调用对象object1的方
11、法setAttribute(),并把9作为形参。用“.”可以进行多层调用例如:如果一个对象a的属性还是一个对象,名为b,b有一个方法c(),当使用这个方法时,应为:();。如果层次更多,可能会有这样的现象:();。,5.1.6 修饰符,在定义类、属性和方法时,都要用到修饰符。修饰符位于语句的最前端,与后面的关键词以空格分隔,如果有多个修饰符,也同样以空格分隔。格式如下:修饰符1 修饰符2 修饰符n class 类名 修饰符1 修饰符2 修饰符n 数据类型 属性名;修饰符1 修饰符2 修饰符n 返回值类型 方法名(形参)修饰符有:访问控制符,static,abstract和final等,1.访问
12、控制符,包是一种类的集合,集合中的类并不需要有严格的某种关系,如继承等,只是为了更容易地管理已存在的类而放到同一个包中。,类访问控制符,类访问控制符:public(公共类)和默认(friendly)一个类被定义为公共类,表示它能被其他所有的类访问和引用 一个类定义为友好类(即没有加访问控制符),表示该类只能被同一个包中的类访问和引用,而不可以被其他包中的类访问或使用,属性和方法的访问控制符,属性和方法的控制符:publicprivateprotectedprivate protected默认,public修饰的属性和方法就是公共属性和公共方法 private成为私有访问控制符,经它修饰的属性和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java程序设计基础 Java 程序设计 基础 对象
链接地址:https://www.31ppt.com/p-6525847.html