Java面向对象程序设计案例教程课件:类和对象_第1页
Java面向对象程序设计案例教程课件:类和对象_第2页
Java面向对象程序设计案例教程课件:类和对象_第3页
Java面向对象程序设计案例教程课件:类和对象_第4页
Java面向对象程序设计案例教程课件:类和对象_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

类和对象本章目标面向对象的基本概念类的定义对象的创建修饰符的使用基础类的使用24.1面向对象的基本概念4.1.1程序设计语言的发展面向机器的低级程序设计语言

第一代程序设计语言也称机器语言。它需要用二进制机器代码编成程序来控制计算机执行规定的操作。在20世纪50年代出现了汇编语言,在编写程序的时候能够通过一些简单的命令来代替二进制指令。面向过程的高级程序设计语言面向过程就是结构化程序设计。任何程序都可以用顺序、选择、循环这三种结构的语句来构造。比较著名的语言如C语言、Pascal、FORTRAN等。面向对象程序设计语言面向对象是把问题事物分解成各个对象,把多个功能合理的放到不同对象里,强调的是具备某些功能的对象。通过调用对象的方法来实现程序功能。比较著名的语言如C++、Java、Python语言等。4.1面向对象的基本概念4.1.2面向对象程序设计方法封装封装,就是把属性私有化,提供公共方法访问私有对象。封装的作用是可以隐藏实现细节,使得代码模块化,提高安全性。继承继承是类之间的一种关系,当多个类具有相同的特征(属性)和行为(方法)时,可以将相同的部分抽取出来放到一个类中作为父类,其它类继承这个父类。继承的作用是可以扩展已存在的代码模块(类),实现代码重用,提高效率。面向对象程序设计语言多态是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。4.2类的定义4.2.1类的定义类

类是对一组有相同属性和相同功能的对象的概括,一个类所包含的数据和方法能够描述一组对象的共同属性和行为。定义一个类的步骤:1.定义类使用关键字class,然后定义类名。2.编写类的属性,即声明变量。3.编写类的方法。4.2类的定义4.2.1类的定义类的一般格式 class类名{

//定义属性部分(成员变量)

属性1的类型属性1;

属性2的类型属性2; ……

属性m的类型属性m;//定义方法部分

方法1();

方法2(); ……

方法n(); }

4.2类的定义4.2.1类的定义【例4-1】定义一个手机的类,名为Telphone,同时定义它的三个属性变量:屏幕尺寸、CPU、内存,同时它具有打电话、发短信、显示手机信息等功能。 publicclassTelphone{ //成员变量(属性)

floatscreen;//屏幕尺寸

floatcpu;//cpu floatmem; //内存

//方法(功能)

publicvoidcall(){ System.out.println("Telphone有打电话的功能"); }4.2类的定义4.2.1类的定义 publicvoidsentMessage(){ System.out.println("Telphone有发短信的功能"); } publicvoidshow(){ System.out.println("screen:"+screen+"cpu:"+ cpu+"mem:"+mem); }}4.2类的定义4.2.2构造方法构造方法构造方法是一种特殊的成员方法,其作用是负责对象的初始化工作,为实例变量赋予合适的初始值。定义构造方法的格式:

类名(形参列表){ //方法体; }4.2类的定义4.2.2构造方法构造方法的语法规则

(1)构造方法的方法名与类名完全相同。(2)构造方法不返回任何值,也没有返回类型。(3)每一个类可以有零个或多个构造方法。(4)构造方法在创建对象时由Java编译器自动调用执行,一般不能显式地直接调用。4.2类的定义4.2.2构造方法构造方法的声明构造方法的任务就是初始化一个对象的内部状态,以便使创建的实例变量能够完全初始化。如果在类中没有构造方法,在创建对象时,系统使用默认的构造方法。定义构造方法的一般格式如下: [public]类名([形式参数列表]) { [方法体] }

见课本P76例题4.3对象的创建4.3.1对象的声明和创建创建对象步骤:

1. 声明:声明一个对象,包括对象名称和对象类型。2. 实例化:使用关键字new来创建一个对象,new运算符用于为对象分配存储空间。3. 初始化:使用new创建对象时,会调用构造方法初始化对象。创建对象的一般格式:

类名对象名;

对象名=new类名();例如:

Telphonephone phone=newTelphone();

或者,也可以将上述两行代码合写成:

类名对象名=new类名();

例如: Telphonephone=newTelphone();4.3对象的创建4.3.2对象的使用引用对象成员的一般格式:

对象名.成员变量;

对象名.成员方法();例如:

引用对象的成员变量:

Telphonephone1=newTelphone(); phone1.screen=5;//给screen属性赋值5 phone1.cpu=1.4;//给cpu属性赋值1.4

引用对象的成员方法:

phone1.sendMessage();//调用sendMessage()方法4.4修饰符的使用4.4.1类的访问控制修饰符针对类的访问控制修饰符,Java仅能使用public(公有)和默认这两种访问控制符。(1)使用public修饰的公有类是类的访问控制级别中使用数量较多的一种,它对所有类都是可见的,既可以被同一个包中的类访问,也可以被其他包中的类访问。例如: publicclassTelphone{ //成员变量; //方法(); }4.4修饰符的使用4.4.1类的访问控制修饰符(2)不使用public修饰的类仅允许在包内具有可见性,即只能被同一个包中的类访问,不能被其他包中的类访问。例如: classTelphone{ //成员变量; //方法(); }4.4修饰符的使用4.4.2类成员的访问控制修饰符针对类成员Java提供了4种访问控制符,主要用于控制其他类是否可以访问某一类中的属性或方法,从而实现数据封装。访问修饰符本类同包子类其他public√√√√protected√√√

default(默认)√√

private√

4.4修饰符的使用4.4.3

static修饰符的使用Java中可以使用static关键字修饰类的成员变量和方法,这些被static关键字修饰的成员也称为静态成员。(1)static变量使用static修饰的成员变量称为类变量或静态变量,没有使用static修饰的成员变量称为实例变量(2)static方法使用static修饰的成员方法称为类方法或静态方法,没有使用static修饰的成员方法称为实例方法4.4修饰符的使用4.4.3

static修饰符的使用声明静态变量格式如下: static数据类型成员变量;例如:

staticintcount;staticfinaldoublePI=3.14;//声明类常量注意:对于实例变量,创建对象时,每个对象都会分配到内存单独保存自己的实例变量。对于类变量,所有的对象共享同一个内存区域,即所有对象的类变量的值是一致的访问类变量时,既可以通过类名进行访问,也可以通过对象进行访问。但是,访问实例变量时,只能通过对象进行访问4.4修饰符的使用4.4.3

static修饰符的使用声明静态方法格式如下: static返回值类型方法名(参数列表) { //方法体

}注意:调用类方法时,可以由类名直接调用,也可以创建对象后由对象的引用变量调用,而实例方法只能通过引用变量调用,不能由类名直接调用。类方法中只能访问类变量、调用类方法,而实例方法中既可以访问实例变量和实例方法,也可以访问类变量和类方法。类方法中不能使用this关键字,而实例方法中可以使用this引用当前对象4.5基础类的使用4.5.1

Math类的使用Math类包含常用的数学运算的标准方法,如初等指数、对数、平方根和三角函数等。Math类提供的方法都是静态的,可以直接调用,无需实例化。

Math类常用的方法:方法名功能描述abs(doublea)绝对值ceil(doublea)得到不小于某数的最小整数floor(doublea)得到不大于某数的最大整数round(doublea)四舍五入返回int型或者long型max(doublea,doubleb)求两数中较大值min(doublea,doubleb)求两数中较小值sin(doublea)正弦tan(doublea)正切cos(doublea)余弦sqrt(doublea)平方根pow(doublea,doubleb)第一个参数的第二个参数次幂的值random()返回在0.0和1.0之间的数,大于0.0,小于1.04.5基础类的使用4.5.2

Date类的使用Date类用来表示日期和时间,该时间是一个长整型(long),精确到毫秒。

Date类常用的方法:方法名功能描述Date()默认构造方法,创建一个Date对象并以当前系统时间来初始化该对象Date(longdate)构造方法,以指定的long值初始化一个Date对象,该long值是自1970年1月1日00:00:00GMT时间以来的毫秒数booleanafter(Datewhen)判断日期是否在指定日期之后,如果是则返回ture,否则返回falsebooleanbefore(Datewhen)判断日期是否在指定日期之前,如果是则返回ture,否则返回falseintercompareTo(Datedate)与指定日期进行比较,如果相等则返回0,如果在指定日期之前则返回小于0的数;加入过在指定日期之后则返回大于0的数StringtoSt

温馨提示

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

评论

0/150

提交评论