Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程

上传人:E**** 文档编号:89156177 上传时间:2019-05-19 格式:PPT 页数:94 大小:1.18MB
返回 下载 相关 举报
Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程_第1页
第1页 / 共94页
Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程_第2页
第2页 / 共94页
Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程_第3页
第3页 / 共94页
Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程_第4页
第4页 / 共94页
Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程_第5页
第5页 / 共94页
点击查看更多>>
资源描述

《Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程》由会员分享,可在线阅读,更多相关《Java程序设计 教学课件 ppt 作者 马世霞 3面向对象编程(94页珍藏版)》请在金锄头文库上搜索。

1、第三章 面向对象编程,学习目标 掌握:掌握创建和使用类对象、使用包的基本方法。 理解:理解面向对象程序设计的基本思想和面向对象的概念。 了解:类的多态,接口的声明及实现方法。 重点 明确各种修饰符的作用,理解继承和复用的概念 理解父类和子类 学会Java类的定义和对象的创建。 难点 掌握扩展类编程 理解多态性是如何扩充和维护系统性能 类多态的实现。,本讲要点,面向过程和面向对象,面向过程程序设计示意图 面向对象程序设计示意图,1-4,3.1面向对象的思想,面向对象的基本概念 对象是具有某种特性和某种功能的东西。 将同一种类型的对象归为一个类。 类是对象的抽象,对象是类的实例。 类的特征和行为分

2、别命名为属性和方法,类是对象的模板,而对象是类的实例; 共性与个性的关系,是抽象与具体的关系 。,3.1面向对象的思想,一个类中定义的方法可被该类的对象调用,对象方法的每一调用被称作发送一个消息message给对象 。 对象间是相互独立,通过发送消息相互影响。一个消息由三部分组成: (1) 消息目标对象; (2) 执行方法的名字; (3) 执行方法所需要的参数(parameters)。(因Java是一个对象化的语言,对象也常被用来当作参数传递。),创建对象,创建对象包括对象声明和对象初始化两个部分。通常这两部分是结合在一起的,即定义对象的同时对其初始化,为其分配空间,并进行赋值。其格式为: =

3、new () 例如,程序1-2中创建Birthdate类的一个对象可以写成: Birthdate birth=new Birthdate();,Birthdate类的对象birth的创建过程,Birthdate类的对象birth的创建过程,对象的使用通过成员运算符“.”实现对变量的访问和方法的调用。通常使用的格式为: 例如: birth.year=2000; birth.display();,使用对象,对象名.成员变量名 对象名.成员方法名(),1. 使用对象成员,例:设计类BirthDate,显示年,public class BirthDate private int year; priva

4、te int mouth; public int setYear(int newyear) year=newyear; return year; public static void main(String args) BirthDate birth=new BirthDate(); birth.year=2000; System.out.println(“第1句.年为 “+birth.year); System.out.println(“第2句.年为 “+ birth.setYear(2007); ,运行结果,2.对象赋值,同类的对象之间也可以进行赋值,这种情况称为对象赋值。例如: Birt

5、hDate anotherbirth; anotherbirth=birth; 变量赋值不一样,对象赋值并不是真正把一个对象赋给另一个对象,而是让一个对象名存储的对象首地址和另一个对象名存储的对象首地址相同。换句话说,对象间的赋值实际上是对象首地址的赋值。,anotherbirth=birth的赋值过程,class Number int i; public static void main(String a) Number n1=new Number(); Number n2=new Number(); n1.i=6; n2.i=16; System.out.println(“n1.i=“+n

6、1.i+” ”+”n2.i=“+n2.i); n1=n2; System.out.println(“n1.i=“+n1.i+” ”+”n2.i=“+n2.i); n1.i=66; System.out.println(“n1.i=“+n1.i+” ”+”n2.i=“+n2.i); ,例:设计类Number,测试对象间的赋值,封装性 封装性就是把对象的属性和方法结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节。对外形成一个边界或者说形成一道屏障,只保留有限的对外接口使之与外部发生联系。 继承性 特殊类的对象拥有其一般类的全部属性与方法,称作特殊类对一般类的继承 .一般类为父类(supercl

7、ass,超类),特殊类为子类(subclass)。 多态性 对象的多态性是指在一般类中定义的属性或方法被特殊类继承之后,可以具有不同的数据类型或表现出不同的行为。,面向对象的特点,面向对象三大机制: 封装:隐藏内部实现 继承:复用现有代码 多态:改写对象行为,3.2类,类由数据成员和方法组成。类封装了一类对象的状态和方法 。,汽车(类) 品牌 型号 颜色 - 加速与减速设计 转向设计 刹车设计 ,类的声明,类的修饰符用于说明类的特征和访问权限,包括public,abstract,final,friendly。public:表示此类为“公共”类 ; abstract:表示此类为“抽象”类 ; f

8、inal:表示此类为“最终”类 . 类名是Java标识符。通常,类名的第一个字母为大写。,class,extends,implements都是Java关键字。 class表明定义类。 extends表明目前定义的类是父类继承而来的子类,该父类必须存在。 implements表明类要实现某个接口。各接口名之间用逗号“,”分隔。 类体包含:实现类功能的Java语言程序代码、成员变量、成员方法。 类的成员变量定义: 修饰符 数据类型 成员变量=初值; 成员变量的修饰符 访问控制修饰符public、protected、private; 存在修饰符static、abstract和final。,类的声明,

9、类的成员方法 定义的一般形式为: 方法修饰符 () 方法体 成员方法修饰符 主要有public、private、protected、final、static、abstract和synchronized七种 。 成员方法的返回值类型 方法返回值用return语句来实现,返回的数据类型必须与方法说明中的方法返回值类型一致 ; 如果不需要返回值,则其返回值类型被说明为void;,类的声明,Java中的类、方法和变量,类的严格定义及修饰字,类的修饰字 class 类名称 extends 父类名称 . ,public, abstract, final或者没有,变量修饰字 变量数据类型 变量名1,变量名2

10、=变量初值;,方法修饰字 方法的返回值类型 方法名称(参数1,参数2, /方法的内容 ,方法和变量的定义及修饰字,public、protected、private,Java名空间及访问规则,每个类都创造了有自己的名字空间,指方法和变量可以知道彼此的存在,可以使用。 abstract类不能直接产生属于这个类的对象 final类不能被其他任何类所继承(安全的考虑) public类不但可以被同一程序包中的其它类使用,别的程序包中的类也可以使用. friendly(缺省)类只能被本包中的其它类使用,Java名空间及访问规则,变量和方法的修饰字public、protected、private publi

11、c: 任何其它类、对象只要可以看到这个类的话,那么它就可以存取变量的数据,或使用方法。,class ABC public int pub_i=5; public void show)() System.out.println (“pub_i”+pub_i); ,Java名空间及访问规则,class Demo public static void main(String args) ABC abc=new ABC(); System.out.println(“abc.pub_i”+abc.pub_i); abc.pub_i=10; abc.show(); ,abc.pub_i=5 pub_i=1

12、0;,Java名空间及访问规则,protected变量和方法 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用,public class ABC protected int pro_i=5; protected void show() System.out.println (“pro_i=” +pro_i;) ,Java名空间及访问规则,private 不允许任何其他类存取和调用 friendly(前边没有修饰字的情况) 在同一程序包中出现的类才可以直接使用它的数据和方法.,Java名空间及访问规则,protecte

13、d变量和方法 如果一个类中变量或方法有修饰字protected,同一类,同一包可以使用。不同包的类要使用,必须是该类的子类可以存取变量或调用,public class ABC protected int pro_i=5; protected void show() System.out.println (“pro_i=” +pro_i;) ,Java名空间及访问规则,不同中的类不能使用,class DEF public static void main(String args) ABC abc=new ABC(); System.out.println (“abc.pro_i=“+abc.pr

14、o_i); abc.pub_i=10; abc.show(); ,final,private is final?,final方法 可以继承 不能被覆盖,final类 不能被继承,全局常量定义时赋值 public staric final int MAX=100;,final变量常量 一旦被初始化便不可改变C+ const 初始化地方 其定义处;在构造方法中。,方法名 成员方法名是Java语言合法的标识符。 参数列表 成员方法的参数列表是由逗号分隔的类型及参数名组成,是可选项。 方法体 方法体是一个方法定义的主要部分,包含了所有实现方法功能的Java语言程序代码,方法体用“ ”括起来 。 例3-

15、2 :源程序名为TestCir.java;定义一个方法,其功能是根据参数r的大小,返回圆的面积。 运行结果:,类的声明,public class TestCir public static void main(String args) /main方法 double k; TestCir mj=new TestCir(); k=mj.area(5); System.out.println(k); public double area(int r) /定义area方法,带有一个参数r final double PI=3.14; /定义常量PI为3.14 return PI*r*r; /由r的值,计

16、算面积,返回面积值 ,类的声明,构造方法,构造方法是一种特殊的方法,其名称与类名相同。Java语言中每个类都有构造方法 。 构造方法的特点 构造方法没有返回值类型,没有void。其修饰符只能是访问控制修饰符,即public、private、protected中的任一个。 构造方法不能从父类中继承。 构造方法可以重载,一个类可以有任意多个构造方法。不同的构造方法根据参数的不同状态来选择合适的构造方法。 构造方法不能直接通过方法名引用,必须通过new运算符。 在构造方法中调用当前类和其父类的构造方法,但必须在方法体的第一条语句。,this对象本身,表示对象本身 在不同方法中表示调用这个方法的对象 在构造方法中表示新创建的对象 作用 使用this访问域及方法 使用

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号