第3章 类和对象.ppt
《第3章 类和对象.ppt》由会员分享,可在线阅读,更多相关《第3章 类和对象.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章 类和对象v3.1 面向对象程序设计v3.2 类v3.3 对象v3.4 包v3.5 内部类v3.6 类的封装性Java程序设计实用教程朱战立3.1 面向对象程序设计Java语言是一种面向对象的程序设计语言,类和对象是面向对象程序设计的基本概念。类是相似对象中共同属性和方法的集合体3.1.1 面向对象程序设计的基本概念3.1.2 类3.1.3 对象Java程序设计实用教程朱战立3.1.1 面向对象程序设计的基本概念面向对象程序设计方法的出发点和追求的基本目标,是使我们分析、设计和实现一个软件系统的方法接近我们认识一个事物的方法 现实世界中的一切客观实体都具有如下特征:有一个名字用来惟一地标
2、识该客观实体有一组属性属性用来描述其特征有一组方法方法用来实现其功能 面向对象程序设计方法下的软件系统设计方法,首先是把问题中涉及的客观实体分割出来,并设计成称为类的可重复使用的模块,然后定义出一个个实例化的类(称为对象),再按照问题的要求,设计出用各个对象的操作完成的软件系统 Java程序设计实用教程朱战立3.1.2 类类是对具有相同属性和相同方法的一组相似对象的抽象,或者说,类所包含的属性和方法描述了一组对象的共同的属性和方法面向对象方法中软件设计的主体是类。类是相同属性和方法的封装体,因此类具有封装性;子类可以在继承父类所有属性和方法的基础上,再增加自己特有的属性和方法,因此类具有继承性
3、;在一个类层次中,定义为根类的对象可被赋值为其任何子类的对象,并根据子类对象的不同而调用不同的方法,因此类具有多态性类的封装性、多态性和继承性,是面向对象程序设计的三个最重要的特点 Java程序设计实用教程朱战立3.1.3 对象可以把类看作一个模板,按照类模板所定义的一个个具体的对象称作类的实例,或称作对象一个具体对象必须具有具体的属性值,如A书店对象就必须具有如下属性:书点名为A书店,负责人为张三等。其次,任何对象都具有相应类所规定的所有方法 Java程序设计实用教程朱战立3.2 类面向对象方法中,软件设计的最主要部分是设计类。类的设计可以划分为类声明和类主体设计两部分。另外,构造方法设计需
4、要特别注意3.2.1 类声明3.2.2 类主体设计3.2.3 构造方法Java程序设计实用教程朱战立3.2.1 类声明1.类声明的格式类声明的格式如下:修饰符 class类名 类主体其中,class是定义类的关键字,类名是所定义的类的名字 Java程序设计实用教程朱战立2.类的修饰符(1)访问控制符public和默认当访问控制符为public时,表示该类被定义为公共类。公共类表示该类能被任何类访问当没有访问控制符public时,即是默认类(或称缺省类)。默认类表示该类只能被同一个包中的类访问,而不能被其他包中的类访问。Java语言规定,一个Java文件中可以有很多类,但最多只能有一个公共类,其
5、他都必须定义为默认类例如,public class Teacher 就声明了一个公共类Teache(2)类型说明符abstract和final当类型说明符为abstract时,表示该类为抽象类,抽象类不能用来定义对象当类型说明符为final时,表示该类为最终类,最终类不能用来再派生子类 例如,final public class Teacher 就声明了一个最终公共类Java程序设计实用教程朱战立3.2.2 类主体设计类主体设计包括类的成员变量设计和类的成员方法设计两部分 例3.1 设计一个日期类。要求方法应包括设置日期、显示日期和判断是否是闰年 设计:成员变量应包括年、月、日成员方法应包括输
6、出日期值、判断是否为闰年。另外,每个类都要有构造方法Java程序设计实用教程朱战立public class Date private int year;private int month;private int day;public void SetDate(int y,int m,int d)year=y;month=m;day=d;public void Print()System.out.println(date is+year+-+month+-+day);public boolean IsLeapYear()return(year%400=0)|(year%100!=0)&(year
7、%4=0);Java程序设计实用教程朱战立1.声明成员变量声明成员变量的格式为:修饰符 static final transient 变量类型 变量名;其中,修饰符有private、public和protected三种。当不加任何修饰符时,定义为默认修饰符private修饰符表示该成员变量只能被该类本身访问,任何其他类都不能访问该成员变量。不加任何访问权限限定的成员变量属于默认访问权限。默认访问权限表示该成员变量只能被该类本身和同一个包的类访问。protected修饰符表示该成员变量除可以被该类本身和同一个包的类访问外,还可以被它的子类(包括同一个包中的子类和不同包中的子类)访问。public
8、修饰符表示该成员变量可以被所有类访问 Java程序设计实用教程朱战立2.声明方法声明成员方法的格式为:修饰符 static 返回值类型 方法名 (参数列表)方法体 其中,修饰符和成员变量的修饰符一样,含义也一样例如:public void SetDate(int y,int m,int d)Java程序设计实用教程朱战立3.方法体方法体是方法的具体实现。例如,public void SetDate(int y,int m,int d)year=y;/给成员变量year赋值y month=m;/给成员变量month赋值m day=d;/给成员变量day赋值d Java程序设计实用教程朱战立4.成
9、员变量和变量初学者经常会混淆成员变量和变量,一个最简单的区别方法是:定义在类中的都是成员变量,定义在方法内的都是变量。另外,还有定义在方法参数中的虚参变量成员变量和变量的类型既可以是基本数据类型(如int、long等),也可以是已定义的类 Java程序设计实用教程朱战立3.2.3 构造方法有一种特殊的方法专门用来进行对象的初始化,这个专门用来进行对象初始化的方法称为构造方法构造方法。一个类中至少要有一个构造方法 例如,可以为上述日期类设计一个如下的构造方法:public Date(int y,int m,int d)year=y;month=m;day=d;Java程序设计实用教程朱战立3.3
10、 对象对象是类的实例化。对象是软件系统中对现实世界中具体问题的软件模拟 3.3.1 main方法3.3.2 对象的创建和初始化3.3.3 对象的使用3.3.4 垃圾对象的回收3.3.5 实例成员变量与类成员变量3.3.6 实例方法与类方法3.3.7 方法的重写Java程序设计实用教程朱战立3.3.1 main方法Java语言规定,一个类中可以没有main方法。但是要运行的类中必须要有main方法。程序就是从main方法开始执行的 例3.2 设计一个日期类,并打印2004年8月5日是否是闰年设计:日期类的设计见例3.1。public static void main(String args)Da
11、te a=new Date(2004,8,5);a.Print();if(a.IsLeapYear()System.out.println(a.year+是闰年);else System.out.println(a.year+不是闰年);Java程序设计实用教程朱战立对象和数组一样,也是引用类型。语句Date a;a=new Date(2004,8,5)的内存示意图如下 Java程序设计实用教程朱战立3.3.2 对象的创建和初始化在例3.2中,语句Date a=new Date(2004,8,5);实现了定义对象a和为对象分配内存空间,并初始化对象a的成员变量数值为:year=2004;mon
12、th=8;day=5;上述方法是把定义对象和创建对象这两个步骤结合在了一起,并同时进行了对象的初始化赋值。这是最简单、也是最经常使用的对象定义、创建和初始化方法 Java程序设计实用教程朱战立3.3.3 对象的使用一旦定义并创建了对象(创建对象是指为对象分配了内存单元),就可以在程序中使用对象。对象的使用主要有三种情况,分别是:使用对象的成员变量或方法对象间赋值把对象作为方法的参数 Java程序设计实用教程朱战立1.使用对象的成员变量或方法一旦定义并创建了对象,就可以使用对象的成员变量或方法。例如,例3.2的main()方法中a.year /使用对象a的成员变量year。a.Print()/使
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 类和对象 对象
限制150内