(上)面对对象编程基础

上传人:宝路 文档编号:53303252 上传时间:2018-08-29 格式:PPT 页数:61 大小:716.13KB
返回 下载 相关 举报
(上)面对对象编程基础_第1页
第1页 / 共61页
(上)面对对象编程基础_第2页
第2页 / 共61页
(上)面对对象编程基础_第3页
第3页 / 共61页
(上)面对对象编程基础_第4页
第4页 / 共61页
(上)面对对象编程基础_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《(上)面对对象编程基础》由会员分享,可在线阅读,更多相关《(上)面对对象编程基础(61页珍藏版)》请在金锄头文库上搜索。

1、Java语言概述,1,关于args数组-命令行参数,在main方法有一个args参数,args为String数组,存储运行时送入的参数 Java解释器执行时格式:java YourClass arg1 arg2 如果运行时给它值,这些参数可以给程序提供数据 如果用于数值运算,还需要字符串类型解析。简单的两个数相加例子,Java语言概述,2,多个抽象数据类型变量的引用一个对象(Aliasing),String str1 new String(); String str2 str1; /str1和str2指向一个变量的引用,str2也称为变量str1的一个别名(Alias) 与 基 本 数 据 类

2、 型 不 同: int a 0; int b a; /b被赋的是a的值,两个变量存在内存不同区域,Java语言概述,3,第5讲 面对对象编程基础(上),西亚斯学院计算机系 姜斌2011年,Java语言概述,4,学习导读本章着重介绍Java编程中类和对象等非常重要的概念。Java程序是由一个个类定义组成的,编写Java程序的过程就是从现实世界中抽象出Java可实现的类并用合适的语句定义它们的过程,这个定义过程包括对类内各种属性和方法的定义,创建类的对象,也包括类间的各种关系和接口的定义。方法是类的主要组成部分。在一个类中,程序的作用体现在方法中。方法是Java语言的基本构件。利用方法可以组成结构

3、良好的程序。本章介绍方法的构成规则和设计、使用方法的基本要点。Java的应用程序接口(API)大量的软件包库。,第4章 类和对象,Java语言概述,5,第4章 类和对象,一、面向对象的基本概念 * 二、 类 * 三、 方法 四、 访问控制符 本章小结 思考与练习,一、面向对象的基本概念,概念概括:OOA方法提供了抽象数据类型机制,遵循软件设计的三条重要原则,即抽象、信息隐藏和模块化。,Java语言概述,7,面向对象的基本概念,1 抽象,1)什么是抽象 抽象就是抽出事物的本质特性而暂时不考虑它们的细节。过程抽象和数据抽象是常用的两种主要抽象手段。(附录:UML解释此过程) 2)如何用面向对象的方

4、法实现抽象一个抽象数据类型(Abstract Data Type,ADT)可以分解成4个部分,如图4-2所示。语法和语义构成抽象数据类型ADT的说明,让使用者了解这个抽象数据类型的特征。属性和方法构成ADT的实现,展示这个ADT是怎样做成的。,Java语言概述,8,2 封装(Encapsulation),信息隐蔽(Information Hiding)的过程称为封装。有两方面的原因促使我们控制对成员的访问。第一个原因是防止程序员接触他们不该接触的东西通常是内部数据类型的设计思想。若只是为了解决特定的问题,用户只需操作接口(Information)即可,毋需明白这些信息。第二个原因是允许库类创造

5、者修改内部结构,不用担心它会对客户程序员造成什么影响。,Java语言概述,9,隐藏实现(Hiding Implementation),有了类创造者提供的服务方法,我就可以使用它了。,我要实现具体的的方法,还要防止别人更改它。当更改方法的具体实现时,不影响类使用者。,客户程序员,类创造者,Java语言概述,10,如何去做: 把类中的成员变量声明成private;例如:在我们定义Plane类时,把它的成员属性定义成private,通过的成员方法(公有Public范围定义的)来使用。 Plane类 2. 给外部提供服务的public公有方法一般称为成员方法,可以注解制作java文档(JavaDoc)

6、;可方便客户程序员使用。,Java语言概述,11,3 对象(Object),可将对象想象对象(object)应是实际问题域中有意义的个体或概念实体。此外,对象应该具有记忆自身状态的能力(成员属性)。同时对象应该以某种方式与系统发生关联(方法),既对象应该与系统中其他有意义的对象进行消息传递(Passing Messages),并提供外部服务(Providing Services)。,Java语言概述,12,对象,(1) 所有东西都是对象。(Everything is Object)可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。 (2) 运行的程序是一大堆对象的组合;通过消

7、息传递,各对象知道自己该做些什么。 (3) 每个对象都有自己的存储空间,可容纳其他对象。 (4) 每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。 (5)同一类所有对象都能接收相同的消息。,二、 类,概念概括: 属性:一般是成员属性的简称,指类内包含的各项数据,包括常量、变量 方法: 则被称为成员方法或方法。,复合数据类型(Abstract Data Type),Java语言概述,14,类的定义,类的基本定义方法如下: 修饰符 class 类名 extends 父类 implements 接口名 类成员变量声明类成员方法声明 ,类的修饰符用来说明类的特殊性质。主要分为:

8、访问控制符:public 公共类 抽象类说明符:abstract 最终类说明符:final,Java语言概述,15,1关于类头-class,class关键字,在它的后面,应跟随新数据类型的名称。(注意不要把class写成Class)。父类名跟在extends 关键字后面,用来说明当前类是哪个已经存在类的子类,存在继承关系。继承是类与类之间的一种非常重要的关系。,见UML实例,Java语言概述,16,1关于类头-接口名,接口名跟在implements关键字后面,用来说明当前类中实现了哪个接口定义的功能和方法。接口是Java语言用来实现多重继承的一种特殊机制,,Java语言概述,17,2关于类头-

9、访问控制符,“public”(公共) 意味着后续的定义任何人均可使用。 “package pravate”(包私有)缺省方式,若某样东西是“友好的”,意味着它只能在这个包装的范围内使用(所以这一访问级别有时也叫作“包访问”)。 “private”(私有)意味着除您自己、类型的创建者以及那个类型的内部方法成员,其他任何人都不能访问后续的定义信息。 “protected”(受保护的)与“private”相似,只是一个继承的类可访问受保护的成员,但不能访问私有成员。,Java语言概述,18,3关于类体类体的定义要包括类的具体内容,包括类的成员属性与方法。class ,Java语言概述,19,Java

10、中定义成员属性的语法如下:修饰符 变量类型 变量名 =变量初值;,变量类型和变量名是声明一个变量必不可少的部分;变量的类型是简单数据类型,如int、double等, 或类(ADT),如Plane,Bird。,3关于类体-类的属性(成员属性),Java语言概述,20,类定义例子(UML类图),可以通过UML类图定义一个类,然后进行类的声明和类体定义(属性和方法).,假设我们设计“职工工资 系统”,常常涉及到员工,可定义Employee类,如右边类图,+getName(),+setName(),+getHireDay(),-name : String,-salary : Integer,-hire

11、Day : Date,Employee,+setHireDay(),+raiseSalary(),+toString(),Java语言概述,21,class Employee /属性的实例 private String name; private double salary; private Date hireDay; /构造方法 public Emplopyee()name =“未命名”;salary = 0.0; /方法1 public String getName() return name; /更多的方法Public String toString() return ; ,Java语言

12、概述,22,4、 创建类及类的实例对象,对象是类的一个实例(Instance),类是同种对象的抽象,是创建对象的模板。在程序中创建个对象将在内存中开辟一块空间,其中包括该对象的属性和方法。我们将分步讲述这个类的实现细节。创建对象使用关键字运算符new,例如下面的语句将创建Employee的对象: (附录:UML创建对象的过程),四、 方法,方法是类的主要组成部分。在一个类中,程序的作用体现在方法中。,Java语言概述,24,方法概述,Java程序的符合模块化原则的基本结构如下: 引入Java类库; 定义用户类1 定义类1的若干变量或对象:定义类1的方法1;定义类1的方法2;定义类1的方法M1;

13、 定义用户类2 定义类2的若干变量或对象:定义类2的方法1;定义类2的方法2;定义类2的方法M2 ,图:模块化分解示例,Java语言概述,25,方法概述,方法进一步将程序进行了模块化的管理,优点如下: (1)“分而治之”,易于管理(2)可以被复用,程序可以使用API中标准方法(3) 避免代码重复Java语言的方法实现子任务处理时,有下面几个原则与规律: (1)算法中需要细化的步骤、程序中重复的代码以及重载父类方法都可以定义成类的方法。 (2)界面清晰,任务明确。 (3)大小适中。 (4)标准方法(API)和用户自定义方法 (5)main方法,Java语言概述,26,1、 定义方法 1)声明方法

14、头 2)声明方法体,Java中声明方法的语法如下:修饰符 返回值类型 方法名(参数列表) throws 例外名1,例外名2, 方法体:局部变量声明;语句序列; ,类的方法,又称为成员方法,用来规定类属性上的操作,实现类的内部功能的机制,同时也是类与外界进行交互的重要窗口。,Java语言概述,27,2 、 定义方法-声明方法头 1)声明方法头方法头一般由方法名、参数列表(有时也称为引数)、返回类型、方法修饰符和方法抛出的例外五部分组成。方法头定义要求见书, 注意如下:比较好的方法名要符合命名规约,chooseCourse(), raiseSalary(), ;经常在类内部使用的比较常调用的代码设

15、置的方法,往往被设成private范围,避免外部调用,(常称为helper方法),Java语言概述,28,2 ) 定义方法-声明方法体,方法头定义了方法的性质,方法体则定义了方法的具体内容。方法体通常起到两种作用,一是围绕类的属性进行各种操作;二是与其他的类与对象进行数据交流、消息传递等操作。 在一个方法中定义另一个方法将产生语法错误。 (1)最好避免局部变量“屏蔽”成员变量,在一个类中不使用同名标识符就可以做到这一点;方法调用中参数用来传递数值、传递引用;另外,方法还可以递归调用。 (2)方法体中如果指定了非void的返回值类型,方法中就必须包含一条return语句保证任何情况下都有返回数值

16、.,Java语言概述,29,类中常用到的方法,成员属性的getXXX()和setXXX()方法,作用是为了访问和设置成员属性的值的;(XXX代表某个属性名称) toString()方法,作用是返回当前对象的属性值;默认方法,通过系统输出方法; 有时候为了实现一些接口,还有compareTo(),equals(),hashCode()等方法的定义,Java语言概述,30,3 方法的调用,调用其他对象成员方法,则需要使用该对象。例如:在其它类中访问方法,语句:Employee em=new Employee();System.out.println(em.getName(); 如果在成员方法定义中访问其他成员方法:则不要使用对象来访问,(也可用this表示本对象)System.out.println(getName();Systeem.out.println(this.getName();,

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

当前位置:首页 > 中学教育 > 教学课件

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