JAVA程序设计4

上传人:lcm****801 文档编号:89280669 上传时间:2019-05-22 格式:PDF 页数:44 大小:312.42KB
返回 下载 相关 举报
JAVA程序设计4_第1页
第1页 / 共44页
JAVA程序设计4_第2页
第2页 / 共44页
JAVA程序设计4_第3页
第3页 / 共44页
JAVA程序设计4_第4页
第4页 / 共44页
JAVA程序设计4_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《JAVA程序设计4》由会员分享,可在线阅读,更多相关《JAVA程序设计4(44页珍藏版)》请在金锄头文库上搜索。

1、1 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 JAVA JAVA 纯面向对象纯面向对象(OO, Object Oriented )(OO, Object Oriented ) OOOO的思想的思想 描绘及实现描绘及实现 OOA OOD OOPOOA OOD OOP 面向过程面向过程 (C(C语言语言) ) 现实现实-?计算机计算机 从现实中抽象出计算机能够表现的从现实中抽象出计算机能够表现的 模型模型 面向对象面向对象 计算机向现实靠齐计算机向现实靠齐 类与对象类与对象 封装封装 继承与多态继承与多态 2 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 OO方法基

2、于的“世界观”: 世界是由对象构成的; 对象有其自己的属性和内部运动规律; 对象之间的相互作用,构成了大千世界的 各式各样的不同系统 3 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 现实中 对象 现实世界中 的一个实体 静态属性 状态 动态行为 操作或 功能 例如 电视机 对象=属性+行为 面向对象的程序设计中 对象 描绘对象属性的数据 对这些数据施加的一组 操作(方法) 对象=数据+操作(方法) 4 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 个体个体个体个体=共性共性共性共性+ + + +个性个性个性个性 动物动物 经过人类抽象 用一个叫”动物”的 类来概括

3、 5 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 类与对象及其关系类与对象及其关系 对象是类的实例,类是对象的模板 类是对一组具有相同的属性和相同操作的对象 的集合 类是对一组具有相同的属性和相同操作的对象 的集合 类抽象 整数 加 减 乘 乘方 实数 加 减 乘 除 乘方 复数 加 减 乘 除 乘方 开方 类抽象 整数 加 减 乘 乘方 实数 加 减 乘 除 乘方 复数 加 减 乘 除 乘方 开方 对象 具体 2 3.1415926 3+2i 对象 具体 2 3.1415926 3+2i 6 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 类和对象都有属性和操作,

4、属性是事物静态特征的抽 象,操作是事物动态特征的抽象 封装 Encapsulation 类=属性+操作(方法) 7 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 类是对一组具有共同的属性特征和行为特征的对象 象的集合 类和对象之间的关系是抽象和具体的关系。 类是对多个对象进行综合抽象的结果,对象又是 类的个体实物,一个对象是类的一个实例。 类是创建对象的样板,它包含对创建对象的状态 描述和对操作行为的说明。 先声明类,再由类生成对象,类是建立对象的模板 8 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 类是面向对象语言的基本成分; 类是面向对象程序的唯一构造单位;

5、类是抽象数据类型的具体实现; 类是对象的生成模板。 9 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 面向对象程序设计技术是将系统分解成若干对象 ,对象之间的相互作用构成了整个系统。而类是创建 对象的样板,在整体上代表一组对象,设计类而不是 设计对象可以避免重复的编码工作,类只需编码一次 ,就可以创建所有的对象。 面向对象程序设计技术是将系统分解成若干对象 ,对象之间的相互作用构成了整个系统。而类是创建 对象的样板,在整体上代表一组对象,设计类而不是 设计对象可以避免重复的编码工作,类只需编码一次 ,就可以创建所有的对象。如何把实际问题中的事物 汇聚成一个个的 如何把实际问题中的

6、事物 汇聚成一个个的“类类”,而不是一组数据。这是面向对 象程序设计中的一个难点。 ,而不是一组数据。这是面向对 象程序设计中的一个难点。 类的确定和划分并没有统一的标准和固定的方法 ,基本上依赖设计人员的经验、技巧以及对实际问题 的把握。 类的确定和划分并没有统一的标准和固定的方法 ,基本上依赖设计人员的经验、技巧以及对实际问题 的把握。一个基本的原则是:寻求一个大系统中事物 的共性,将具有共性的系统成分确定为一个类。 一个基本的原则是:寻求一个大系统中事物 的共性,将具有共性的系统成分确定为一个类。 10 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 继承 (继承 (Inhe

7、ritance)Inheritance)Inheritance)Inheritance) 子类可以自动拥有其父类的全部属性和操作 例如 教师是教职员工的子类 教职员工是教师的父类 子类可以自动拥有其父类的全部属性和操作 例如 教师是教职员工的子类 教职员工是教师的父类 11 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 继承机制使得子类可以自动拥有(复制)父类的全 部属性和操作. 定义子类时不必重复定义那些已在父类中定义过 的属性与操作,只要声明自己是某个父类的子类即可, 而把主要精力集中在如何定义自己的属性与操作上. 继承简化了对现实世界的描述,大大提高了软件的 复用性 继承机

8、制使得子类可以自动拥有(复制)父类的全 部属性和操作. 定义子类时不必重复定义那些已在父类中定义过 的属性与操作,只要声明自己是某个父类的子类即可, 而把主要精力集中在如何定义自己的属性与操作上. 继承简化了对现实世界的描述,大大提高了软件的 复用性 12 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 abstract类不能直接产生属于这个类的对象 final类不能被其他任何类所继承(安全的考虑) public类不但可以被同一程序包中的其它类使用,别的 程序包中的类也可以使用. (import ) friendly(缺省)类只能被本包中的其它类使用 abstract类不能直接产生

9、属于这个类的对象 final类不能被其他任何类所继承(安全的考虑) public类不但可以被同一程序包中的其它类使用,别的 程序包中的类也可以使用. (import ) friendly(缺省)类只能被本包中的其它类使用 注:同一程序定义的类就属于同一包 13 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 是否一个类只要是是否一个类只要是public ,public ,其它的类就可以访问其其它的类就可以访问其 中的数据与方法呢中的数据与方法呢? No!? No! 类中的数据与方法同样有访问控制的类中的数据与方法同样有访问控制的, ,只有是只有是 public public 的才可

10、以的才可以. . 保护数据不被非法访问保护数据不被非法访问( (使用与修改使用与修改) ) publicpublic privateprivate protectedprotected package (package (缺省缺省) ) 数据隐藏封装的含义 14 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 class Employeeclass Employee private String Id;private String Id; public String public String get_Idget_Id();(); return Id;return Id; publ

11、ic public set_ID(Stringset_ID(String newIdnewId) ) Id = Id = newIdnewId; ; 数据 Id 外界不能直接 访问,必须通过方法 get_Id()和set_Id() 15 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 class Aclass A 数据定义数据定义; ; 方法定义方法定义 public class public class 主类主类 / / 主类名与主类名与JAVA JAVA 程序名一致程序名一致 对象定义对象定义; ; 数据定义数据定义; ; 方法定义方法定义; ; public static p

12、ublic static main(Stringmain(String argsargs) ) 16 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 import import java.iojava.io.*;.*; class class FirstClassFirstClass intint i = 5;i = 5; float f = 3.14f;float f = 3.14f; public class Exam4_1public class Exam4_1 public static void public static void main(Stringmain(Str

13、ing argsargs) FirstClassFirstClass ob = new ob = new FirstClassFirstClass(); (); System.out.println(“ob.i=“ + System.out.println(“ob.i=“ + ob.iob.i); ); System.out.println(“ob.fSystem.out.println(“ob.f=“ + =“ + ob.fob.f); ); 17 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 /* Exam4_2.java */* Exam4_2.java */ import

14、 import java.iojava.io.*;.*; class class FirstClassFirstClass intint i = 5;i = 5; float f = 3.14f;float f = 3.14f; void void dispdisp() () System.out.println(“iSystem.out.println(“i=“ + i);=“ + i); System.out.println(“fSystem.out.println(“f=“ + f);=“ + f); public class Exam4_2public class Exam4_2 pu

15、blic static void public static void main(Stringmain(String argsargs) FirstClassFirstClass ob = new ob = new FirstClassFirstClass(); (); ob.dispob.disp();(); 18 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 当对象的数据成员与方法是可访问的时候当对象的数据成员与方法是可访问的时候, , 类外部调用的方式是类外部调用的方式是 对象名对象名. .数据成员名数据成员名ob.iob.iob.fob.f 对象名对象名. .方法名方法名

16、() () ob.dispob.disp();(); 类内部调用方式则是直接使用数据成员名与方类内部调用方式则是直接使用数据成员名与方 法名法名 System.out.println(“iSystem.out.println(“i=“ + i);=“ + i); System.out.println(“fSystem.out.println(“f=“ + f);=“ + f); 19 第四章第四章第四章第四章 面向对象面向对象面向对象面向对象 /* Exam4_3.java */* Exam4_3.java */ import import java.iojava.io.*;.*; class class FirstClassFirst

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

当前位置:首页 > 大杂烩/其它

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