java面向对象编程基础.ppt
《java面向对象编程基础.ppt》由会员分享,可在线阅读,更多相关《java面向对象编程基础.ppt(73页珍藏版)》请在三一办公上搜索。
1、第三章,面向对象编程,2,目标,理解对象理解类理解抽象和封装理解对象与类之间的关系掌握包的创建和导入,3,面向对象编程,4,对象,具备某种功能 完成特定任务,“对象是存在的具体实体,具有明确定义的特征和行为。”,5,对象的示例,收银员对象,顾客对象,顾客姓名:朱丽叶年龄:28操作:购买商品,特征,姓名:布兰尼年龄:35职务:收银员操作:收款打印帐单,行为,6,类,类是面向对象程序设计的基础和核心类是对象的抽象和归纳,是对象的模板,水果类,动物类,汽车类,类的示例,“类是具有相同属性和方法的一组对象的集合”,7,类和对象的示例,收银员,系统管理员,仓库管理员,促销员,部门经理,8,属性,属性名称
2、由类的所有实例共享事物的特征在类中表示为变量每个对象的每个属性都拥有其特有的值,住址,姓名,属性,年龄,“在类中属性表示对象或实体拥有的特征”,9,方法,“对象执行的操作称为方法。”,10,方法的示例,缝制衣服的步骤,量尺寸,得到工具,缝衣服,方法,缝制衣服,裁缝,11,类和对象的区别,类是概念模型,定义对象的所 有特性和所需 的操作,对象是类的实例,类定义对象,对象是实际的实体,12,类与对象的关系示例,类与对象的关系示例,13,抽象,处理事物复杂性的方法,只关注事物的重要细节,而忽略事物的次要细节。,数据抽象:“根据具体的应用抽取出类的相关属性和操作。”,14,数据抽象的示例,属性,方法,
3、getName(),getStudentNO(),getSeatNumber(),15,封装,信息隐藏,隐藏对象的实现细节,不让用户看到将东西包装在一起,然后以新的完整形式呈现出来例如,两种或多种化学药品组成一个胶囊将方法和属性一起包装到一个单元中,单元以类的形式实现,“隐藏属性、方法或实现细节的过程称为封装。”,16,封装的示例 3-1,采购经理,罗杰斯先生,大众汽车公司,.,通用汽车公司,.,市场经理,雪莉女士,要求,17,封装的示例 3-2,有选择地提供数据,大众汽车公司,通用汽车公司,18,封装的示例 3-3,实体大众汽车公司,实体通用汽车公司,Auti Ltd,.,Buto Ltd,
4、.,19,封装的特征:(1)在类的定义中设置访问对象属性(数据成员)及方法(成员方法)的权限,限制本类对象及其他类的对象使用的范围。(2)提供一个接口来描述其他对象的使用方法。(3)其他对象不能直接修改本对象所拥有的属性和方法。,封装的示例 3-4,20,1.定义类的一般格式(1)系统定义的类,即Java类库,是系统定义好的类,类库是Java语言的重要组成部分。Java类库是一组由它的发明者SUN公司以及其他软件开发商编写好的Java程序模块,每个模块通常对应一种特定的基本功能和任务,且这些模块都是经过严格测试的,因而也总是正确有效的。当自己编写的Java程序需要完成其中某一功能的时候,就可以
5、直接利用这些现成的类库,而不需要一切从头编写,这样不仅可以提高编程效率,也可以保证软件的质量。,类的定义,21,(2)用户自己定义的类。在Java程序中,用户自己定义类的一般格式如下:,类的定义,语法class 类名 类体其中:class 是创建类所使用的关键字,类体包含属性(数据成员)和成员方法的声明。,22,类的简单定义,类的命名规则:不能为 Java 中的关键字不能包含空格或点号“.”可以下划线“_”、字母或“$”符号开头,class Book String bookName;String authorName;int nopages;boolean available;,23,类中的方
6、法 4-1,方法的名称,参数列表,方法的主体,方法返回的数据类型,24,类中的方法 4-2,语法:返回值类型 方法名(参数列表)方法体(语句体),25,类中的方法 4-3,class Book String bookName;String authorName;int nopages;boolean available;void isAvailable()if(available=true)(有这本书);.,26,创建对象通常包括声明对象、建立对象和初始化对象三步。1声明对象 声明对象就是确定对象的名称,并指明该对象所属的类。声明对象的格式如下:类名 对象名表;例如:Class_name ob
7、ject_one,object_two;,对象的声明,27,2建立对象 建立对象就是用new关键字为对象分配存储空间。只有通过建立对象这一步,才为对象分配内存,使该对象成为类的实例。建立对象的格式如下:对象名=new 构造方法();例如:object_one=new Class_name();object_two=new Class_name();,对象的建立,28,3.创建对象的格式如下:类名 对象名=new 构造方法名();例如:Class_name object_one=new Class_name();Class_name object_two=new Class_name();其中:
8、new的作用是建立对象,为对象分配存储空间。执行new Class_name()将产生一个Class_name()类的实例(对象)。,对象的创建,与类名相同,29,4.使用对象 一个对象可以有许多属性和多个方法。当一个对象被创建后,这个对象就拥有了自己的数据成员和成员方法,我们可以通过引用对象的成员来使用对象。对象的数据成员的引用方式如下:对象名.数据成员名 对象的成员方法的引用方式如下:对象名.成员方法名(参数表),对象的使用,30,示例,class Book String bookName;String authorName;int nopages;boolean available;st
9、atic void isAvailable()if(available=true)(“有这本书);Book objBook=new Book();objBook.isAvailable();.,31,类的严谨定义格式如下:类修饰符 class 类名 extends 父类名 implements 接口列表 数据成员 成员方法,类的严谨定义,32,访问修饰符 6-1,信息隐藏是 OOP 最重要的功能之一,也是使用访问修饰符的原因。信息隐藏的原因包括:对任何实现细节所作的更改不会影响使用该类的代码防止用户意外删除数据,访问修饰符,33,访问修饰符 6-2,34,6.1 类修饰符 类的修饰符用于说明对
10、它的访问限制,一个类可以没有修饰符,也可以有public、final、abstract等几种不同的修饰符。1无修饰符的情况 如果一个类前无修饰符,则这个类只能被同一个包里的类使用。Java规定,同一个程序文件中的所有类都在同一个包中。这也就是说,无修饰符的类可以被同一个程序文件中的类使用,但不能被其他程序文件中的其他包中的类使用。,类访问修饰符 6-3,35,【示例程序C3_1.java】class Aa/无修饰符的类Aa int a=45;/Aa类的数据成员a public class C3_1/公共类C3_1 public static void main(String args)Aa a
11、1=new Aa();/类C3_1中创建了一个无修饰符类Aa的对象a1 System.out.println(a1.a);,36,2public修饰符 如果一个类的修饰符是public,则这个类是公共类。公共类不但可供它所在包中的其他类使用,也可供其他包中的类使用。在程序中可以用import语句引用其他包中的public类。Java规定,在一个程序文件中,只能定义一个public类,其余的类可以是无修饰符的类,也可以是用final修饰符定义的最终类,否则编译时会报错。,类访问修饰符 6-4,37,【示例程序C3_2.java】class Fp C3_2 f1=new C3_2();int ad
12、d()return(f1.b+f1.c);,public class C3_2 int b=20,c=3;public static void main(String args)Fp p1=new Fp();System.out.println(p1.add();,运行结果:23,38,3final修饰符 用final修饰符修饰的类被称为最终类。最终类是不能被任何其他类所继承的。定义最终类的目的有三:(1)用来完成某种标准功能。将一个类定义为final类,则可以将它的内容、属性和功能固定下来,与它的类名形成稳定的映射关系,从而保证引用这个类时所实现的功能是正确无误的。,类访问修饰符 6-5,3
13、9,(2)提高程序的可读性。从父类派生子类,再从子类派生子类,使软件变得越来越复杂。而在必要的层次上设置final类,可以提高程序的可读性。(3)提高安全性。病毒的闯入途径之一是在一些处理关键信息的类中派生子类,再用子类去代替原来的类。由于用final修饰符定义的类不能再派生子类,截断了病毒闯入的途径,因而提高了程序的安全性。,40,4abstract修饰符 用abstract修饰符修饰的类称为抽象类。其作用在于将许多有关的类组织在一起,提供一个公共的基类,为派生具体类奠定基础。另外,当一个类中出现一个或多个用abstract修饰符定义的方法时,则必须在这个类的前面加上abstract修饰符,
14、将其定义为抽象类。,访问修饰符 6-6,41,5类修饰符使用注意事项 可以同时使用两个修饰符来修饰一个类,当使用两个修饰符修饰一个类时,这些修饰符之间用空格分开,写在关键字class之前,修饰符的顺序对类的性质没有任何影响。需要注意的是:一个类可以被修饰为public abstract,也可以被修饰为public final,但不能被修饰为abstract final,这是因为abstract类自身没有对象,需要派生子类后再创建子类的对象,而final类不能派生子类,所以不存在用abstract final两个修饰符修饰的类。,访问修饰符 6-7,42,1.无修饰符:具有包访问特性。2.pub
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 面向 对象 编程 基础
链接地址:https://www.31ppt.com/p-5436263.html