java面向对象程序设计课件.ppt_第1页
java面向对象程序设计课件.ppt_第2页
java面向对象程序设计课件.ppt_第3页
java面向对象程序设计课件.ppt_第4页
java面向对象程序设计课件.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第a、1、4章了解类和图像、a、2、培训目标、数据抽象和数据隐藏编写类了解对象创建和使用可以控制对实例变量和方法的访问方法的重载构造函数的使用了解this引用的使用了解Java的垃圾收集机制static方法和域使用类的组合包的创建和使用;了解a、3、4,即可从workspace页面中移除物件。物件导向程式设计(OOP)是定义这些类别。类用作创建类的对象的抽象数据类型。表示一组对象之间交互通信的程序的执行。通过对象之间的公共接口进行通信,完成系统功能。对象的公共接口是对象的应用程序编程接口(API),通过隐藏对象的内部详细信息和抽象对象,称为数据抽象。Java语言是程序由一个或多个类组成的完整的

2、面向对象的语言。所有过程都被封装起来,称为方法。a,5,4.1.2类实现抽象数据类型:时钟类,类封装对象的数据属性和动态行为,并用于定义类的对象。以下是了解特定实例中的类、定义类、创建对象和使用对象的方法。设计时钟类:(1)数据属性:时间(inthour);分钟(int minute);int second(秒)。(2)行为:设置时间settime();显示时间toUniversalString()、tostandardsting();旅行时间(暂时不考虑);a,使用6,4.1.2类实现抽象数据类型:时钟类(续),示例4-1时钟类实现。此示例包含两个文件:Time1.java和TimeTest

3、1.java。Time1.java用于定义时钟类。TimeTest1类是包含用于测试时钟类的main方法的基类,Time1类中的对象在main方法中创建,并调用对象的公共方法。使用、a、7,4.1.2类实现抽象数据类型:时钟类(续),Time1.java文件中的代码如下所示:import Java . text . decimal format;public class time 1 extends object private int hour;Private int minutePrivate int secondPublic Time1() setTime(0,0,0);Public v

4、oid settime (int h,int m,int s) hour=(h=0,小时,分钟,秒,设置时间,a,8,4.1.2类的抽象数据类型:时钟类return two digits . format(hour): two digits . format(minute): two digits . format(second);public string tostandardsting()/tostandardsting方法以12小时的格式显示时间decimal format two digits=new decimal format(00)。Return (hour=12 | hour=

5、0)?12 : hour % 12): two digits . format(minute): two digits . format(second)(hour 12)?AM :PM);以24小时格式显示时间,以12小时格式显示时间。a,使用9,4.1.2类实现抽象数据类型。时钟类(续),TimeTest1.java文件中的代码:/time test 1 . Java import javax . swing . joption pane;public class time test 1 public static void main(string args)time 1 time=new

6、time 1();string output=the initial universal time is : time . touniversity alstring()nthe initial standard time is : time . tostandardstringTime.setTime(13,27,6);output=nn universal time after settime is 3360 time . touniversity alstring()nstandard time after settime is : time . tostandardstringTime

7、.setTime(99、99、99);output=nn after attempting invalid settings : nuniversal time : time . touniversity alstring()nstandard time : time . tostringJoptionpane.showmessagedialog(空,输出,时钟类测试,joption pane . information _ message);system . exit(0);创建Time1类的objecttime,调用时钟类的toUniversalString()方法,调用时钟类的toSta

8、ndardString()方法,以及使用a,10,4.1.2类实现抽象数据类型。时钟类(续)、程序运行结果:a、11、4.1.3类成员:定义构造函数、方法和域以及类的语法格式如下:类的修饰符类名称extends超类名称/类体、a、12,1域一个类的数据属性由该成员变量(域字段)定义。以域修改者类型域名格式在类中声明域。4.1.3类成员:构造函数、方法和域(续)、a、13,2。方法方法通常操作类的数据成员。通常,如果类的数据成员为private,请定义public方法以设置数据成员的值或读取数据成员的值。3.构造函数Time1类包含构造函数Time1(),构造函数名称和类名称相同。构造函数通常用

9、于初始化类中的对象。当程序创建Time1类的对象时,new运算符会为该对象分配内存,并调用构造函数初始化该对象。换句话说,您可以呼叫Time1类别的建构函式,将初始值指定给建构函式中物件的每个成员变数。4.1.3类成员:构造函数、方法和域(续)、a、14,4.2类的范围以及用于在Java中定义类的范围的修改器可以在包外部看到具有公共范围:具有公共域的类。Package(包范围):具有包域的类仅在包包包中可见。如果类声明之前没有public关键字,则默认情况下,此类为包范围。范例:class C1 /成员public class C2 /成员,a,15范例:package examplePkg1

10、Class C3 /成员package examplePkg2C4/成员,类4.2的范围(续),类a,16,4.2的范围(续),如果在C4类声明之前添加了public,如下所示:package examplePkg2Public class C4 /成员、a、17,4.3成员访问控制、成员访问控制用于控制类中成员的访问范围,并由表达式声明。表4-1列出了常用的成员访问控制修正者。,表4-1成员访问控制修饰符,示例4-2成员访问控制示例,a,18,4.4方法,4.4.1方法的声明,以及传递本地变量4.4.2方法的参数4.4.3使用set和get方法4.4.4方法重载(overloading),a

11、,返回类型:方法必须声明返回类型,如果没有返回值,则必须将返回类型声明为void。一个方法可以返回简单数据类型或所有引用类型的值,也可以返回所有类的对象。一个方法通过return语句在return语句之后立即返回返回值。一个方法将类型返回为void。除了return语句后不再包含返回值外,此方法还必须包含return语句。方法名称可以是任何有效的Java标识符。表单参数:编写方法时,声明方法所需的多个参数以及该类型的参数。这可以通过在声明方法时列出相应的查寻表来实现。参数表表示每个参数的名称和类型,每个参数用逗号分隔。在方法主体中,可以使用这些参数名直接引用参数的值。4.4.1方法的声明和本地

12、变量(续)、a,21,4.4.1方法的声明和本地变量(续)、方法体:方法体中包含实现此方法特定功能的代码。方法体中声明的变量仅在方法中使用。换句话说,它是此方法的局部变量。方法声明与封装方法的类声明的其中一个实例变量同名的局部变量时,该方法范围内的局部变量将遮罩实例变量。要在此方法中访问被遮罩的实例变量,请在名称前添加关键字this和点运算符()。以变量名称()表示。a,22,4.4.1方法的声明和本地变量(续),如class C1 int I;method 1()int I=0;int j;This.i=i 10j=5;通过实例变量I、本地变量I、this.i调用实例变量I、获取本地变量I的

13、值、传递a,23,4.4.2方法的参数、通过值传递Java的参数传递方法,有时称为“传递值”。此值传递区分两种情况:方法的参数是简单数据类型时,将实际值传递给几何参数。如果方法的参数是复合数据类型(对象),则将参数的地址传递给参数。a,24,4.4.3使用set和get方法,并且如果在类中声明了private成员变量,则只能通过该类的方法操作这些成员变量,类通常提供公共方法,以便该类的用户设置或读取private实例变量。示例4-3 set和get方法的使用、a、25,4.4.4方法重载、Java支持方法重载,方法重载被定义为在一个类中定义多个同名方法。以下示例说明了方法的重载:重新加载的方法

14、参数的类型必须不同于:参数。参数的顺序不同。在这里,如果一个方法有几个不同类型的参数,更改参数的顺序时,可以将其视为分隔方法。参数数目不同。在示例中,三个重新加载的方法参数的数量分别为一个、两个和三个。a,26,4 . 4 . 4 . 4方法重载(overloading)(续);示例4-4方法重载的Time3.java文件中的一些代码:/3个重载的setTime方法public void settime (int hPublic void settime (int h,int m) settime (h,m,0);Public void setTime (int h,int m,int s)

15、hour=(h=0,具有一个参数的setTime方法,具有两个参数的setTime方法,以及具有三个参数的setTime方法三个成员变量在构造函数中初始化。构造函数只能在创建对象时通过new命令调用。定义建构函数时,请注意两个事项:构造函数方法必须与类名相同。配置方法没有返回值,但可以有参数,并且可以重新加载。a,28,4.5类的初始化对象:构造函数(续),示例4-5显示了构造函数的重载。Time4.java文件中的部分代码:/5个重载构造函数public Time4() setTime(0,0,0);Public Time4(int h) setTime(h,0,0);Public time 4 (int h,int m) settime (h,m,0);Public time 4 (int h,int m,int s) settime (h,m,s);public time 4(time 4 time)settime(time . hour,time.minute,time . second);不带参数的构造函数、带有一个参数的构造函数、带有三个参数的构造函数、带有一个参数的对象的构造函数、a、29

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论