java3面向对象程序设计.ppt

上传人:牧羊曲112 文档编号:6509252 上传时间:2023-11-07 格式:PPT 页数:43 大小:344.49KB
返回 下载 相关 举报
java3面向对象程序设计.ppt_第1页
第1页 / 共43页
java3面向对象程序设计.ppt_第2页
第2页 / 共43页
java3面向对象程序设计.ppt_第3页
第3页 / 共43页
java3面向对象程序设计.ppt_第4页
第4页 / 共43页
java3面向对象程序设计.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《java3面向对象程序设计.ppt》由会员分享,可在线阅读,更多相关《java3面向对象程序设计.ppt(43页珍藏版)》请在三一办公上搜索。

1、面向对象的程序设计,第3章,2,本章总体纲要,类、域、方法和实例对象继承性多态性包(package)封装性关键字abstract、static、final和this接口内部类变量作用域范围和参数传递方式面向对象程序设计基本思想,3,3.1 类、域、方法和实例对象,目标1 面向对象的概念对象和类的概念面向对象的三大基本特征:封装、继承、多态2 类 类的定义类的成员:成员变量和成员方法构造方法3 对象 对象的创建和引用Java的垃圾回收机制,4,思考,开发一个在线考试系统,需要创建哪些类?这些类的成员分别有什么?,5,1 面向对象的概念,对象,对象是具有某些特殊属性(数据)和行为方式(方法)的实体

2、。可以是有生命的个体,比如一个人或一只老虎。也可以是无生命的个体,比如一辆汽车或一台计算机。也可以是一个抽象的概念,如天气的变化或鼠标所产生的事件。,两个特征:属性(Property)和行为(Behavior)如:一个人的属性有:姓名、性别、年龄、身高、体重等行为有:唱歌、打球、骑车、学习等。,从众多对象中归纳出“类”,电视机A品牌:飞利浦型号:34寸高清行为:开 关 选频道 调声音 颜色,抽象,电视机类品牌:型号:行为:,从类实例化一个对象,电视机B品牌:LG型号:21寸纯平行为:开 关 选频道 调声音 颜色,电视机C品牌:东芝型号:44寸液晶行为:开 关 选频道 调声音 颜色,类的属性和行

3、为-类的成员,从类实例化一个对象,属性,行为,成员变量(也称成员域),成员方法,类的成员,类,类是具有共同属性和行为的对象的抽象。类可以定义为数据和方法的集合。对象具有特殊属性和行为方式的实体。,类,对象,抽象,实例化,封装的实体=数据+方法,操作或行为,属性或状态,成员方法,成员变量,消息,单一对象的存在并没有多大的作用,只有多个对象相互作用才会完成复杂的行为。对象和对象之间是通过传递消息来完成相互通信的。一个消息由三方面内容组成:1)消息的接收者,即消息的目标对象;2)接收对象采用的方法;3)执行方法所需用的参数(Parameters)。,例如:一辆自行车放在车棚中并没有什么用,当我们人骑

4、上它,并加速时才体现它的作用,其中接收者(自行车),采用的方法(加速),所需的参数(上升到更高的档位)。,面向对象的基本特征,1.封装:将数据成员(Data Member)和属于此数据的操作方法(Operating Method),放在同一个实体(Entity)或对象中。2.继承:父类定义(Define)一些通用的属性与行为,其子类继续使用。3.多态:在同一个类中可有许多同名的方法,但其参数数量与数据类型不同,而且操作过程与返回值也可能会不同。,(1)模块化(2)信息隐藏,(1)实现代码复用(2)简化设计过程,解决其他语言中不能重名的问题,面向对象的基本特征:封装定义,面向对象的基本特征:封装

5、举例,“学生对象”的内部数据:个人基本信息(年龄、身高、家庭信息)在校情况(专业,班级,宿舍,任职等)选修课表成绩清单(考试,课程设计,毕业设计成绩),入学/注册修课/考试查询成绩毕业答辩,只能通过接口来操作对象,不能随意修改内部数据,面向对象的基本特征:继承,家电类(父类)数据:功率 品牌 型号方法:启动,停止,电视机类(子类)数据:功率 品牌 型号 尺寸 方法:启动,停止 选频道 调色彩声音,冰箱类(子类)数据:功率 品牌 型号 容量 功能 方法:启动,停止 调温度,开关门,自动拥有父类的数据,方法,继承,子类继承其父类的所有变量和方法还可以增加自己需要的变量和方法,虚框:该类的对象,类继

6、承的实现,被继承的类称为父类继承父类的类称为子类执行继承时,子类将获得父类的属性,并具有自身特有的属性。,Emoloyee类:name sex,Worker类:category ressAllowance,Officer类:empClass vehicle,工人类,继承了父类的姓名和性别属性外还包含类别和是否有服装津贴属性,主任类,还包含级别和是否配备交通工具属性,职员类,具有姓名和性别两个属性,多继承:一个类有多个父类,即直接继承多个类,多继承,注:Java类只能有一个父类,面向对象的基本特征:多态,家电类(父类)数据:功率 品牌 型号方法:启动,停止,电视机类(子类)数据:功率 品牌 型号

7、 尺寸 方法:启动,停止 选频道 调色彩声音,冰箱类(子类)数据:功率 品牌 型号 容量 功能 方法:启动,停止 调温度,开关门,启动电视:显示图像,声音,启动冰箱:开始制冷,继承,多态:相同的消息被送到不同的对象时有不同的实现,继承,18,2 类,19,类的定义,类的定义格式如下:类修饰词 class 类名 extends 父类名 implements 接口名称列表 类体,extends关键字用于继承类,implement关键字用于实现接口,类的修饰符用于说明类的性质和访问权限,包括public、private、abstract、final。,其中public表示可以被任何其他代码访问,ab

8、stract表示抽象类,final表示最终类。,类体部分定义了该类所包括的所有成员变量和成员方法,class Animal String name;int age;public void eat()System.out.println(Eating);public void move()System.out.println(Moving);,类的定义 举例,Animal的成员变量,Animal的成员方法,21,类的成员,从类实例化一个对象,成员变量(也称成员域),成员方法,22,成员变量,成员变量是类的属性,声明的一般格式为:变量修饰符 变量修饰符:public、protected、priva

9、te、和默认(friendly)。成员变量,实例变量,类变量:静态变量,用static进行修饰,23,成员方法,成员方法定义的类的操作和行为,一般形式为:方法修饰符()方法体成员方法修饰符主要有public、private、protected、final、static、abstract和synchronized七种,前三种的访问权限、说明形式和含义与成员变量一致。与成员变量类似,成员方法也分为实例方法和类方法。如果方法定义中使用了static,则该方法为类方法。public static void main(String args)就是一个典型的类方法,24,类成员的常用修饰符及访问范围,25

10、,思考,开发一个在线考试系统,需要创建哪些类?这些类的成员分别有什么?,26,试题类(Testquestion类)属性:包括试题内容、答案、用户选择的答案等。方法:获取取试题、设置选择的答案、获取选择的答案、设置标准答案、获取标准答案、检查答案正确与否等。,类成员和实例成员,在类的定义中,成员变量和成员方法前面带有static的为类属性和类方法;不带static的为实例属性和实例方法。,类属性和类方法,class Animal int weight;String colour;static int count=0;Animal()+count;System.out.println(The to

11、tal number of Animal is:+count);public void eat()System.out.println(Eating);public static void move()System.out.println(Animal can Moving);,成员属性成员方法,public class StaticTest1 public static void main(String args)System.out.println(The total number of Animal is:+Animal.count);Animal.move();Animal a1=ne

12、w Animal();Animal a2=new Animal();运行结果为:The total number of Animal is:0Animal can MovingThe total number of Animal is:1The total number of Animal is:2,class Animal int weight;String colour;static int count=0;Animal()+count;System.out.println(The total number of Animal is:+count);public void eat()Sys

13、tem.out.println(Eating);public static void move()System.out.println(Animal can Moving);,与类属性和类方法相比较,实例属性和实例方法必须在实例化变量之后才能使用,将上例中Animal.move()换成Animal.eat(),结果如何?为什么?,实例属性和实例方法,eat()是实例方法,只能由类的对象调用也就是只能a1.eat(),或a2.eat(),31,构造方法,构造方法在创建新的实例对象时起作用构造方法通常用来初始化实例对象,例如:初始化成员域或设置工作环境,构造方法,构造方法名称与类名称相同构造方法没

14、有返回类型其任务是在创建对象时初始化其内部状态若无定义系统默认有一个无参构造方法,构造方法,class Point int x,y;Point()/不带参数的构造方法 x=0;y=0;Point(int ix,int iy)/带参数的构造方法 x=ix;y=iy;void move(int newX,int newY)x=newX;y=newY;,构造方法没有返回类型,构造方法名与类名相同,构造方法的三个基本特点 父类和子类的构造方法有一定关联(参见课本P62),34,默认的构造方法,如果没有显式地定义类的构造方法,则系统会为该类定义一个默认的构造方法。该构造方法不含任何参数。-这个默认的构造

15、方法首先调用其父类的不含任何参数的构造方法,然后初始化新生成的实例的各个成员变量-默认值:基本数值类型:0;boolean:false;引用数据类型:null-最好自己写构造方法一旦在类中定义了构造方法,系统就不会再创建这个默认的不含参数的构造方法。,35,3 对象,对象的创建,对象的声明和创建 类名 对象名;/声明 对象名=new 类名(参数);/创建(2)对象的使用 对象名.成员变量名;对象名.成员方法名(参数列表);(3)对象的销毁自动垃圾回收机制周期性的释放无用的对象。,(1)对象的创建,第一步:进行对象的声明。一般形式为:;例如:Animal dog;第二步:实例化对象,通过运算符n

16、ew实现 一般形式为:=new;例如:dog=new Animal();以上两步也可合并:=new,38,对象的创建(举例),对象的声明只是创建变量的引用,并不分配内存,要分配实际内存空间,必须new关键字。,39,(2)对象的引用,对象创建之后,通过“”运算符用于访问对象中的成员变量和成员方法。一般形式为:由于类变量和类方法不属于某个具体的对象,因此我们也可以直接使用类型替代对象名访问类变量或类方法。例如:Animal.age=3;Animal.eat();,实例变量成员和实例方法成员只能通过对象来引用例如,Point为类,p为Point的对象,p调用类的方法move格式如下:p.move(

17、30,20);同样,也可以用new生成对象的引用,然后直接调用它的方法,如:new point().move(30,20);,(2)对象的引用,(3)对象的销毁,有些面向对象语言保持对所有对象的跟踪,所以需要在对象不再使用的时候将它们从内存中清除。JAVA当对象不再被使用的时候将其清除,这就是所谓的“垃圾回收机制”。JAVA的垃圾收集器:它周期性地自动将不再被引用的对象从内存中清除。两个有关垃圾回收的成员方法:gc()finalize()参见课本P64和P65例,42,思考:,实现考试系统中所需要的试题类(Testquestion类)属性:包括试题内容、答案、用户选择的答案等。方法:获取取试题

18、、设置选择的答案、获取选择的答案、设置标准答案、获取标准答案、检查答案正确与否等。,43,定义Testquestion类,class Testquestion private String questionText=;/试题内容 private String standardKey;/答案 private String selectedKey;/选择的答案 public String getQuestion()return questionText;/获取试题 public void setQuestion(String s)questionText=s;public String getSe

19、lectedKey()/获取选择的答案 return selectedKey;,public void setSelectedKey(String s)/设置选择的答案 selectedKey=s;public void setStandardKey(String s)/设置标准答案 standardKey=s;public String getStandardKey(String s)/获取标准答案 return standardKey;public boolean checkKey()/检查答案正确与否 if(standardKey.equals(selectedKey)return true;,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号