资源目录
压缩包内文档预览:
编号:21836452
类型:共享资源
大小:14.34MB
格式:ZIP
上传时间:2019-09-06
上传人:QQ24****1780
认证信息
个人认证
王**(实名认证)
浙江
IP属地:浙江
25
积分
- 关 键 词:
-
大学
java
编程
基础
曹静
课件
ppt
- 资源描述:
-
大学JAVA编程基础-曹静-课件PPT,大学,java,编程,基础,曹静,课件,ppt
- 内容简介:
-
Java编程基础中国水利水电出版社第3章类和对象3.4使用对象和类的OOP编程实例 3.3对象的使用 3.2类的实现 3.1类和对象的基本概念 教学要求:理解:面向对象的开发方法; 类、对象、实体之间的关系; 对象的涵义 掌握:定义类、类的成员变量、类的成员方法、类的构造方法;对象的使用 3.1类和对象的基本概念浅述面向对象的软件开发方法-抽象抽象是科学研究中经常使用的一种方法,即去除掉被研究对象中与主旨无关的次要部分,或是暂时不予考虑的部分,而仅仅抽取出与研究工作有关的实质性的内容加以考察。在计算机技术的软件开发方法中所使用的抽象有两类:一类是过程抽象,另一类是数据抽象。3.1类和对象的基本概念(续) 浅述面向对象的软件开发方法(续)在早期面向过程的软件开发方法中,人们总是致力于用计算机能够理解的逻辑来描述和表达待解决的问题及其具体的解决过程。数据结构、算法成为了面向过程问题求解的核心组成。利用这种开发方法精确、完备地描述具体的操作过程。 考勤按固定的公式计算制作报表发工资3.1类和对象的基本概念(续) 假定你有一张信用卡,卡上已经产生应还金额5000元,假定你一直不还款,那么在多少个月之后,这张卡的应还金额会超过10000元!例:一个月之后,卡上的应还金额是5000加上5000元的2%,也就是5100。两个月之后,卡上的应还金额为5100加上5100的2%,依此类推!3.1类和对象的基本概念(续) 过程抽象将整个系统的功能划分为若干部分,强调功能完成的过程和步骤。3.1类和对象的基本概念(续) 浅述面向对象的软件开发方法(续)缺点:面向过程的问题很难描述一个包含了多个相互关联过程的复杂系统。使用过程抽象有利于控制、降低整个程序的复杂性,但是这种方法本身自由度较大,难于规范化和标准化,操作起来有一定难度,在质量上不易保证。浅述面向对象的软件开发方法(续)力求符合人们日常的思维习惯,降低、分解问题的难度和复杂性,提高整个求解过程的可控制性、可监测性和可维护性面向对象问题求解,关心的不仅仅是孤立的单个过程,而是孕育所有这个过程的母体系统,它能够使计算机逻辑来模拟描述系统本身,包括系统的组成、系统的各种可能状态以及系统中可能产生的过程和过程引起的切换3.1类和对象的基本概念(续) 浅述面向对象的软件开发方法(续)数据抽象是与过程抽象不同的抽象方法,它把系统中需要处理的数据和这些数据上的操作结合在一起,根据功能、性质、作用等因素抽象成不同的抽象数据类型。每个抽象数据类型既包含了数据,也包含了针对这些数据的授权操作,是相对于过程抽象更为严格、也更为合理的抽象方法。面向对象的软件开发方法的主要特点之一,就是采用了数据抽象的方法来构建程序的类、对象和方法。3.1类和对象的基本概念(续) 悬架系统(传感器、电子控制ECU、悬架控制的执行器等组成 )发动机系统车辆齿轮传动系统 3.1类和对象的基本概念(续) 浅述面向对象的软件开发方法(续)比如,要处理一个有关银行日常业务的问题,最核心的问题就是所有的资金、帐目往来。根据与此核心问题有关的操作,包括存款、取款、贷款、还款和这些操作所处理的数据,如金额、账号、日期等,就可以建立一个表示帐户的抽象数据类型,作为考察的重点。而银行的其他业务和日常工作,如对内部员工的考勤、监督、安全警戒、方便储户的服务项目,则不在次列。相反,如果面对的是一个旨在提高银行服务水平和工作效率的综合管理系统,那么上述几项被第一个系统忽略的工作就应该成为第二个系统的抽象数据类型中的一部分。3.1类和对象的基本概念(续) 浅述面向对象的软件开发方法(续)抽象数据类型是用“类”这种面向对象工具可理解和操纵的结构来代表的,每个类里都封装了相关的数据和操作。3.1类和对象的基本概念(续) 概念世界的实体与程序中的对象什么是实体?你手头这本书、你坐着的板凳、窗外飞过的小鸟、马路上行驶的汽车、车上的驾驶员等等都是实体。实体不一定是现实世界中具有生命的生命体,没有生命的物体也可以是实体。这些实体在面向对象的程序中都可以通过对象描述出来,也就是说概念世界中的实体对应着程序中的对象。 3.1类和对象的基本概念(续) 初识类与对象 对象是面向对象程序的核心,那么什么是对象?一个对象就是一个程序单元,它将一组数据和对这些数据的各种操作结合在一起。对象中的数据通常称其为属性,用来描述对象的信息。比如书的页数、价格、出版社,板凳的材质、颜色,汽车驾驶员的性别、年龄以及住址等等。对象中的各种操作通常称其为方法,用来描述对象的功能。比如汽车能够加速行驶或者刹车,小鸟能够飞翔或者鸣叫等等。类是一个抽象的概念,表示对现实生活中一类具有共同特征的对象的抽象化。在类中定义了这类对象所具备的属性和方法。3.1类和对象的基本概念(续) 初识类与对象(续)3.1类和对象的基本概念(续) 在现实世界与计算机世界之间架起了一座桥梁,通过类、对象等形式将实体、抽象数据类型表述出来。 对象的状态在计算机内部是用变量来表示,而对象的行为在计算机内部是用方法来表示的。类的定义 类定义的完整格式如下,其中方括号内的内容表示可以省略。斜体字表示该部分会在正式代码中根据实际情况发生变化。粗体字表示该部分是关键字,如果出现必须那样写: modifiers class classname extends superclassname implements interfacename . modifiers:是类修饰符,对所定义的类加以修饰。类修饰符有如下几种:访问权限修饰符:public最终类修饰符:final抽象类修饰符:abstract 3.2类的实现 类的定义 (续)modifiers为上述修饰符中任一个或它们的某种组合,定义类时可以有也可以没有modifiers说明。class classname:class是定义类用的关键字,要定义一个类必须用到class关键字。classname:是所定义的类的类名,为合法的标识符。extends superclassname:extends是表示继承关系的关键字。说明所定义的类是继承名为superclassname类而得来的。implements interfacenamelist:implements是表示实现接口的关键字。说明所定义的类要实现指定的接口。3.2类的实现(续) 定义成员变量:体现类的属性 class People int age; String name; double height; 3.2类的实现(续) 定义成员变量:体现类的属性 (续)属性的定义格式如下,其中方括号内的内容表示可以省略。斜体字表示该部分会在正式代码中根据实际情况发生变化。粗体字表示该部分是关键字,如果出现必须那样写:modifiers type variablename;modifiers:是变量修饰符,modifiers修饰符有如下几种:访问权限修饰符:public,protected,private三种。静态变量(又称类变量)修饰符:static,说明一个变量是共享变量即类变量。没有用static修饰的属性又称为实例变量常量说明符:final,作用是将以变量说明为一个值不变的常量。type是表示该成员变量的数据类型。variablename表示属性的名字。 3.2类的实现(续) 定义成员方法:表现类的行为 定义一个方法,包括方法名说明和方法体的说明,这两部分组合起来就可以定义一个方法。方法的定义格式如下,其中方括号内的内容表示可以省略。斜体字表示该部分会在正式代码中根据实际情况发生变化。粗体字表示该部分是关键字,如果出现必须那样写: modifiers returntype methodname(type variable) . 3.2类的实现(续) 定义成员方法:表现类的行为(续) modifiers:方法修饰符,可以有以下几种:访问权限修饰符:public,private,protected最终方法修饰符:final静态方法(类方法)修饰符:static modifiers为上述修饰符中任一个或它们的某种组合,定义方法时可以有也可以没有modifiers说明。returntype:方法的返回值类型。methodname:方法的名字,为合法的标识符。 ( ):其中的内容为方法的参数列表,方法可以有参数也可以没有参数,参数都有相应的类型。参数可以是一个也可以是多个,多个参数之间以逗号“,”隔开。type variable:是方法参数说明。type是参数的类型,variable是参数名。 中的内容称为方法体,这个方法具体实现什么功能将由方法体中的代码决定 3.2类的实现(续) 定义成员方法:表现类的行为(续) class People int age;String name;double height;String address;void laugh()System.out.println(Haaha.);3.2类的实现(续) 定义成员方法:表现类的行为(续) 参数一个方法的参数是指这个方法要正确执行时需要提供给方法的信息。比如计算器有除这个方法,想让计算器运算1除以2,我们需要向它提供被除数和除数两个信息。同一个方法中的参数名不能相同。在一个方法中定义的参数只在该方法体内有效,即参数只在当前方法的内可以使用。返回值一个方法的返回值是指这个方法执行完毕后的结果。比如计算器有除这个方法,我们让计算器执行1除以2后,会返回0.5。返回值类型是指方法返回的结果的类型。比如计算器的除法返回的结果是个小数,我们可以用double表示。如果一个方法执行完毕后不需要返回结果,返回值类型用void表示。如果一个方法需要返回值,在方法体最后使用return 。3.2类的实现(续) 特殊的方法:构造方法例题:定义一个类Caculator,在类中定义一个构造方法,便当对象创建时整数能被自动地赋于初值0。代码如下: class Caculator int a; int b; Caculator ( ) a=0; b=0; 3.2类的实现(续) 特殊的方法:构造方法(续) 构造方法是一种特殊的方法,用于创建对象,具有以下特点:构造方法名和所在类的类名相同。构造方法没有返回值,方法名处的返回值类型为空(即返回值类型什么都不写)。如果一个类没有显式的定义它自己的构造方法,那么Java将自动地提供一个默认的构造方法。默认构造方法自动地将所有的成员变量初始化为零。 3.2类的实现(续) 使用对象的程序实例 class People int age;String name;double height;void laugh() System.out.println(Haaha.);public static void main(String args) System.out.println(main方法执行);People p = new People();p.laugh();3.3对象的使用分析:对象与类,如何从类实例化对象类创建一种新的数据类型,该种类型能被用来创建对象。类创建了一个逻辑的框架,该框架定义了它的成员之间的关系。类是一个逻辑构造,对象有物理的真实性。要获得一个类的对象需要两步。第一步,你必须声明该类类型的一个变量,这个变量没有定义一个对象。第二步,该声明要创建一个对象的实际的物理拷贝,并把对于该对象的引用(即内存地址)赋给该变量。这是通过使用new运算符实现的。在Java中,所有的类的对象都必须动态分配。3.3对象的使用(续)分析:对象与类,如何从类实例化对象(续)下面的语句来声明一个People类型的对象: People p = new People();当这一句完成时,也就表述了现实世界的一个具体的实体对象,它是真实存在地。同样,我们还可以继续声明一个对象,如: People p1 = new People();这里p、p1代表地是不同的两个人,两个实体。它们的数据是完全分离的。3.3对象的使用(续)分析:对象与类,如何从类实例化对象(续)People p;p = new People();3.3对象的使用(续)分析:对象与类,如何从类实例化对象(续)People p1 = new People();People p =p1;变量p被赋值为变量p1对象引用的一个拷贝。 p和p1指向同样的对象 3.3对象的使用(续)分析:属性的get和set方法 为了体现类的封装性,这里使用成员方法来获取成员变量,这种方法很特殊,功能很单一,我们可使用在被访问字段名的前面加上前缀get来表示获取成员变量的成员方法。例如getFirstName( ),getLastName( )。同理,在被访问字段名的前面加上前缀set来表示获取设置成员变量的成员方法。例如setFirstName( ),setLastName( )。3.3对象的使用(续)分析:属性的get和set方法 (续)例题:定义一个商品类Item,书写类的相关成员方法来设置及获取其商品的ID号、商品的简短描述、商品的详细描述、商品价格等属性。代码详见教材3.3对
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。