JAVA面向对象程序设计类与对象.ppt

上传人:豆**** 文档编号:24227303 上传时间:2022-07-04 格式:PPT 页数:43 大小:130KB
返回 下载 相关 举报
JAVA面向对象程序设计类与对象.ppt_第1页
第1页 / 共43页
JAVA面向对象程序设计类与对象.ppt_第2页
第2页 / 共43页
点击查看更多>>
资源描述

《JAVA面向对象程序设计类与对象.ppt》由会员分享,可在线阅读,更多相关《JAVA面向对象程序设计类与对象.ppt(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、抽象抽象l所谓抽象就是舍弃被研究对象中个别的、非本质的、或与研究主题无关的次要特征,而抽取与研究有关的特征,形成对所研究对象正确的、简明扼要的认识。封装封装l封装也称为信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据的内部,尽可能隐藏内部细节,只保留一些外部接口使之与外部发生联系。对象对象l客观世界是由一些具体的事物构成的,每个事物一般都有自己的一组静态特征和动态特征。l把客观世界的这一事实映射到面向对象程序设计中,就把客观事物抽象成为了对象(object)。在面向对象程序设计中,对象具有如下特性:l对象标识l静态特征(属性)

2、1.动态特征(方法)类类l对象是对具体某个事物的抽象,而类则是对对象的抽象与归纳,即把具有相同特征的一组对象归纳成一类。分类所依据的原则就是抽象。JAVA中的类中的类l类是面向对象程序设计(OOD)的基础,是Java的核心和本质所在。在Java中,所有的语言元素都必须被封装在类中。lJava程序是由一个个类定义组成的,编写Java程序的过程实际就是从现实世界中抽象出Java可实现的类并用合适的语句定义它们的过程,这个定义过程包括对类内各种属性和方法的定义,创建类的对象,也包括类间的各种关系和接口的定义。lJAVA语言中的类实际包括两种:l系统定义的类1.用户自己定义的类系统定义的类系统定义的类

3、lJAVA系统定义好的类,根据实现的功能的不同,划分为不同的集合包,所有的包合称为类库。l要在程序中使用某个系统类,必须使用import语句引入该类所在的包。 如:import java.awt.*; import java.applet.*;用户自定义的类用户自定义的类l系统定义的类主要是实现一些常用的基本功能,但是一些具体的问题还是需要用户通过编写自己的类来解决。因此,JAVA程序设计的过程实际就是用户把客观世界的问题定义为自己的类来解决的过程。定义一个简单的类定义一个简单的类l一个简单的类people class people String gender; float height; f

4、loat weight; l注意:类声明只是创建一个模板(或类型描述),它并不会创建一个实际的对象,因此,上述代码不会生成任何people类型的对象实体。创建对象创建对象l用前面定义的people类创建一个对象lilylJAVA中使用new关键字创建对象,对象的创建可以使用以下两种方式:lpeople lily;l lily=new people();lpeople lily=new people();1.以上语句执行后,lily就是people的一个对象(实例);它将具有“存储意义上”的真实性。对象的初始化对象的初始化l所谓对象的初始化就是为这个对象的数据成员赋初值。lily.gender=

5、“girl”;lily.height=1.6f;lily.weight=45.0f;使用对象使用对象l当一个对象被创立后,这个对象就拥有了自己的数据成员和方法,我们可以通过引用对象的数据成员来使用对象。以前面创建的对象lily为例:System.out.println(“lily is a :”+llily.gender);System.out.println(“lily身高:”+llily.heght+“m”);System.out.println(“lily体重:”+llily.weight+“kg”);使用对象使用对象l对象的数据成员、对象的方法的引用方式如下:对象名.成员名 如:lil

6、y.height;对象名.方法名(参数表) 如:lily.run();类的定义类的定义l类的基本定义方法如下: 修饰符 class 类名 extends 父类 implements 接口名 类成员变量声明 类方法声明 1、关于类头、关于类头classlclass关键字,在它的后面跟新定义的类的类名。l父类名跟在extends关键字后面,用来说明当前类是哪个已经存在类的子类,存在继承关系继承是类与类之间的一种非常重要的关系。1、关于类头、关于类头类的修饰符类的修饰符l类的修饰符用于定义对该类的访问级别,通常有public、final、abstract等。1、关于类头、关于类头接口名接口名l接口名

7、跟在implements关键字后面,用来说明当前类中实现了哪个接口定义的功能和方法。接口是Java语言用来实现多重继承的一种特殊机制,我们将在后面详细介绍它的使用方法。2、关于类体、关于类体l类体的定义要包括类的具体内容,包括类的属性与方法。 修饰符 class 类名 extends 父类 implements 接口名 类成员变量声明 类方法声明 构造方法构造方法l创建对象后,通常要为对象赋初值即对象的初始化,为简化这一步操作,JAVA提供了一种特殊的方法构造方法。构造方法实例构造方法实例class people float height; float weight; people(float

8、 aheight,float aweight) height=aheight; weight=aweight; public class sample public static void main(String args) people lily=new people(1.60f,45.0f); System.out.println(lilys height is:+lily.height+m); System.out.println(lilys weight is:+lily.weight+kg); 构造方法的特点构造方法的特点l构造方法的方法名与类名相同。l不能对构造方法指定返回类型,系

9、统指定了隐含返回类型。l构造方法不能由编程人员显式地直接调用。l在创建一个类的新对象的同时,系统会自动调用该类的构造方法为新对象初始化,构造方法总是和new运算符一起被调用。l构造方法和普通方法一样,可以被重置即一个类可以定义多个具有不同参数的构造方法。l一个类可以不定义构造方法,但实际系统会为这个类定义一个缺省的构造方法,这个构造方法没有任何参数和语句。l构造方法可以继承。构造方法的重置实例构造方法的重置实例class people float height; float weight; String gender; people(float aheight,float aweight) h

10、eight=aheight; weight=aweight; people(float aheight,float aweight,String agender) height=aheight; weight=aweight; gender=agender; public class gouzao public static void main(String args) people lily=new people(1.60f,45.0f); people jack=new people(1.70f,60.0f,boy); System.out.println(lilys height is:

11、+lily.height+m); System.out.println(lilys weight is:+lily.weight+kg); System.out.println(jacks height is:+jack.height+m); System.out.println(jacks weight is:+jack.weight+kg); System.out.println(jacks weight is a +jack.gender); 构造方法的作用构造方法的作用l对象初始化l引入更多的灵活度(变量赋值或更复杂的操作)类的修饰符类的修饰符访问控制访问控制l缺省访问控制lpubli

12、clprotectedlfinallabstract类的修饰符类的修饰符缺省访问控制缺省访问控制l缺省访问控制(无修饰符),该类只能被同一个包中的类访问和引用,而不可以被其他包中的类使用,这种访问特性又称为包访问性。同样类内的变量和方法如果没有访问控制符来限定,也就具有包访问性。lJAVA规定:同一个程序文件中的所有类属于一个包。类的修饰符类的修饰符publiclpublic(公共的),用public修饰的类称为公共类,公共类不但可以供它同一个包内的类使用,还可供其他包中的类使用。类的修饰符类的修饰符protectedlprotected(受保护的),用protected修饰的类称为保护类,保

13、护类的成员变量可以被三种类所引用:该类自身、与它在同一个包中的其它类、在其他包中的该类的子类。使用protected修饰符的主要作用是允许其他包中该类的子类来访问父类的特定属性。类的修饰符类的修饰符finallfinal(最终的),用final修饰的类称为最终类,最终类是不能被其他类继承的。例:final class sample class s1 extends sample/错误,sample为最终类,不能被继承。 类的修饰符类的修饰符abstractlabstract(抽象的),用abstract修饰的类称为抽象类声明方法的存在而不去具体实现其功能的类,它用于要创建一个体现某些基本行为的

14、类,并为该类声明方法,但不能在该类中实现该类的情况。实例l不能使用abstract类创建对象。 l用abstract修饰的方法表示抽象方法,抽象方法没有方法体。l抽象类可以没有抽象方法,但有抽象方法的类必须定义为抽象类。l如果一个子类继承一个抽象类,子类又没有实现父类的所有抽象方法,那么子类也要定义为抽象类,否则编译会出错的。1.final和abstract不能同时修饰一个类。例:final abstract sample JAVA数据成员数据成员lJAVA中的数据成员即常说的变量,为了方便区分,我们将类中描述研究对象静态特征的变量称为成员变量,将成员方法中定义的变量称为局部变量。l数据成员的

15、声明:(参见第二章)修饰符 变量类型 变量名=变量初值;数据成员的修饰符数据成员的修饰符访问控制访问控制lpubliclprivatelprotectedlstaticlfinal数据成员的修饰符数据成员的修饰符publicl公共的变量。数据成员的修饰符数据成员的修饰符privatel用private修饰的属性或方法只能被该类自身所访问和修改,而不能被任何其他类(包括该类的子类),来获取和引用。例:class s1 private int a;class sample s1 o=new s1();s1.a=10; /错误。 数据成员的修饰符数据成员的修饰符protectedlprotected

16、成员可以被该类的成员以及其子类的成员访问,它还可以被同一个包内的其他类的成员访问。数据成员的修饰符数据成员的修饰符staticl通常情况下,类的成员必须通过它的类的对象访问,但是可以使用static创建一个成员,它能被它自己使用,而不必引用特定的实例。l说明:l声明为static的变量为全局变量。1.static变量被保存在类的公共存储单元中,而不是保存在该类某个对象的内存储区中,因此,该类的任何一个对象访问该变量得到的将是相同的值。例:class sp static int n=10;public class sample sp.n=sp.n+1; 静态初始化器静态初始化器l静态初始化器是由

17、关键字static引导的一对大括号括起的语句组。作用是初始化类的静态数据成员。例:static int a;static a=10;数据成员的修饰符数据成员的修饰符finall用final修饰的数据成员称为最终数据成员,其值在整个程序的执行过程中是不能改变的标识符常量,最终数据成员可以在申明时进行初始化,也可通过构造方法进行赋值,但不能在程序的其他部分赋值。JAVA成员方法成员方法lJAVA中的成员方法与其他成员设计语言中的函数概念相等,也叫成员函数,是具有某种独立功能的程序模块。lJAV中的方法包括:l系统成员方法1.用户自定义成员方法系统类成员方法系统类成员方法l如:lpublic voi

18、d paint(Graphics g);lSystem.out.print();方法的声明方法的声明lJava中声明方法的语法如下: 修饰符 返回值类型 方法名(参数列表) throws 例外名1,例外名2, 方法体: 局部变量声明; 语句序列; JAVA的成员方法用来规定类属性上的操作,实现类的内部功能的机制,同时也是类与外界进行交互的重要窗口。一个简单的方法实例一个简单的方法实例求两整数之和:int add(int a,int b) int c; c=a+b; retuen c;方法的修饰符方法的修饰符lpublic lprivatelprotectedlfinallstaticlabstractlnative43结束语结束语

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁