- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java的面向对象程序设计.ppt
Java语言与面向对象程序设计:第一讲 Java的面向对象程序设计 授课人:于军 本讲主要内容 面向对象的概念 面向对象的三大特性 Java中的类与对象 Java的面向对象程序设计 Java中的类说明 变量 方法 面向对象的概念(一) 程序语言的发展 面向机器(机器语言、汇编语言) 可读性、可维护、移植性差;效率高 面向过程 核心:算法 + 数据结构 缺陷: 随着应用程序的规模扩大,操作与数据分离所带来的维护工作量越来越大。 不适用于GUI界面、事件驱动编程 面向对象的概念(二) 面向对象 全新的程序设计思想:计算机——现实世界 对象 ? 实体 对象拥有属性,行为,将数据与操作结合在一起 消息 ? 实体间的联系 面向对象的程序设计 = 对象 + 消息 发展历史:SmartTalk ? C++ ? JAVA JAVA中的类与对象 面向对象的三大特性之一: 封装 数据及基于其上的操作被封装在对象的 内部,对外通过一被授权的接口与程序 其他部分交互 对象内部的变化不会影响到程序的其他部分 一个设计成功的对象可以用在不同的程序中 提高了程序的模块化、安全性,降低维护量 提高代码的可复用性 面向对象的三大特性之二: 继承 在已有类的基础上,扩充或改写其某些属性 及方法,生成新的类,称为原有类的子类 父类中包含子类具有的公共属性。 例:BankAccount ?SavingAccount BankAccount ?CheckingAccount 减少了编程的代码量和代码的重复 继承体现了面向对象的方法对现实世界人们有组织的抽象思维特点的模拟 面向对象的三大特性之三: 多态 用相同的名字定义、调用不同的方法: 子类对父类方法的重载(用类名区分) 对本类中同名方法的重载(用参数区分) 例:电器 ?加电开启 优点: 提高程序的抽象程度 降低程序的维护工作量,降低代码量 JAVA中的类与对象 JAVA中如何体现上述 O-O 特性和优点 JAVA中类与对象 类:抽象的集合概念 —— 鸭 系统类库中已定义好的类 用户自定义的类 对象(实例instance):实际个体——那只鸭 创建某个类的具体对象(类似变量声明) 类名 欲创建的对象名 = new 类名( 参数表 ) ; 例如: String s = new String( “Hello!” ) ; JAVA的类库 JAVA提供了若干含有一定预制功能的基础类 编程的过程就是继承这些基础类而创建、定义 特殊子类的过程。 基类:所有JAVA的类都派生自Object 语言基础类库:java.lang 工具类库:java.util 输入/输出类库:java.io AWT类库:java.awt (GUI界面) 网络类库:java.net 浏览器类库:java.applet JAVA面向对象编程设计 一个简单例子:银行业务 要求:处理简单帐户存取款、查询 面向对象的分析(OOA) 对象模型抽象:银行帐户 对象模型属性分析: 余额、存、取、查 面向对象的设计(OOD) 对象模型的实现:类及其成员定义 bankaccount,Banlance,Deposit,etc 银行业务的程序结构 银行帐户类BankAccount JAVA中类的声明(一) [文档说明] [ 类修饰符] class 类名 [ extends 超类名 ] [ implements 接口名 ] { 类体; 成员变量定义; 方法定义; } JAVA中类的声明(二) 类修饰符(Modifier): public:允许其他包、类访问本类 abstract:没有实例的抽象概念类 final:不能再被扩展,不包含子类的类 缺省:可被当前包中的其他类访问 父类声明:extends 父类名 实现接口(interface):implements 接口名 接口是一组抽象的方法,在实现它的类中被赋予实际内容,比继承灵活 变量:类的数据成员 声明类数据成员(变量) [修饰符] 数据类型 变量名; 修饰符 public, protected, private:访问控制符 static:类的成员变量,对所有的实例一致 final:数值不变常量,定义同时应初始化 volatile:可能独立于当前线程而被改变 transient:过渡,系统保留 例:类的静态成员变量 在BankAccount类的中增加定义利率 设所有的银行帐户享用相同的利率 public class BankAccount { private static double m_dInterestRate; private double m_dBalance; ……… } 方法:类的成员函数 定义对类内成
文档评论(0)