Java 基础 第3讲 面向对象程序设计(课时2)
更新时间:2023-08-27 04:03:01 阅读量: 教育文库 文档下载
- java推荐度:
- 相关推荐
Java 程序设计
第三讲
面向对象程序设计2009级软件技术1 2009级软件技术1、6班教学课件
---主讲:
邓永生
主要内容
一、面向对象概念:类与对象 面向对象概念: 面向对象概念: 二、面向对象概念:类与对象 三、类的定义 四、面向对象的基本特征 五、抽象类、接口 抽象类、 六、面向对象设计原则 七、小结 八、课程实训
一、从日常生活中看对象-类和对象类在面向对象的程序设计中 ,类是程序的基本单元。 类是程序的基本单元。 类是程序的基本单元 类实例化就成为对象。 类实例化就成为对象。类的 实例化指的是创建该类 的对象. 的对象. 类的作用就象一个模板, 类的作用就象一个模板,所 有对象(实例)依照它来 有对象(实例) 创建。 创建。 继承 多态 封装的实体=数据 方 封装的实体 数据+方 数据 法
类抽 象 实 例 化
变量 方法
对象
一、从日常生活中看对象-成员类是的一种重要的复合数据类型。 类是的一种重要的复合数据类型。 基本数据类型:整型,实型(浮点型),布尔型, ),布尔型 基本数据类型:整型,实型(浮点型),布尔型,字符型 复合数据类型: 复合数据类型:类,接口 下面看看数据抽象的一个例子——小汽车类 下面看看数据抽象的一个例子 小汽车类 class 小汽车 { int 颜色; 颜色; int 车门个数; 车门个数 int 极限速度 极限速度; 计算机中 的对象的原型 } void 刹车 { … }; 刹车() void 加速 {… }; 加速() void 减速() { … }; 减速
现实生活
一、从日常生活中看对象-封装封装把对象的所有组成部分组合在一起,封装 定义程序如何引用对象的数据,实际上是使用公有数据 私有数据 方法对象A 对象
数据
方法对象B 对象
方法将类的数据 隐藏起来, 隐藏起来,控制 用户对类的修改 和访问数据的程 度。
一、从日常生活中看对象-继承继承最主要的目的是为了“扩展”原类的功能、 继承最主要的目的是为了“扩展”原类的功能、 加强或改进原类所没有定义的属性和方法狗 +颜色 +叫()
自行车(父类) 子类
圣伯纳 +雪地救人()
博美 +叫() +玩球()
山地车
赛车
双人车
一、从日常生活中看对象-多态一个名词有多种语义,一个方法多种功能 一个名词有多种语义 一个方法多种功能. 一个方法多种功能 参数表不同----方法的重载 参数表不同 方法的重载 类派生过程中,重新改写父类的方法 覆盖 类派生过程中 重新改写父类的方法----覆盖 重新改写父类的方法例如:声明三个同名方法 求圆、 例如:声明三个同名方法area求圆、矩形、和三角 求圆 矩形、 形的面积3.0
public double area(double r)
类
2.0 ,3.0 public double area(double a , double b) 3.0
,4.0 ,5.0
public double area(double a , double b , double c)
主要内容
一、面向对象概念:类与对象 面向对象概念: 面向对象概念: 二、面向对象概念:类与对象 三、类的定义 四、面向对象的基本特征 五、抽象类、接口 抽象类、 六、面向对象设计原则 七、小结 八、课程实训
二、 面向对象概念:类与对象1、类
我们经常说:物以类聚,人以群分。它 反映了人们对客观事物分类管理的思想,要 想分门别类地管理好各种事物,必然存在着 对客观事物的最基本的认识,对同一种事物 要有明显的划分依据,也就是要描述清楚同 一种事物共同的基本外观特征(属性)及共同的 行为能力(方法)。 这个过程可以通过观察、 归纳、总结等方式得到对客观事物的共性描 述,显然,这是一个把客观事物映象到人脑
在程序中,类以特定的方式(new) 在程序中,类以特定的方式(new) 被调入到内存中使用,此时存在于内 中形成思想认识的抽象思维过程。所以类是 类 存中的这段类代码就叫做对象,显然, 对同一种事物(包括外观世界客观存在的、 , 对同一种事物 对象与类的代码本质上是完全相同的, 抽象的、有生命的、无生命的)所具有的共 , 所具有的共 类本身并没有生命 只是存储介质不同而已,而且对对象 性描述, 性描述,这里的共性包括事物本身的属性特 特征,它仅仅是一个针 而言,它具有了生命特征( 而言,它具有了生命特征(在内存中的 征和基本行为特征。 对事物的共性描述,通 生存周期) 生存周期)。更重要的是,在同一个程 2、对象 常以文件的形式保存在 序中,类可以被多次调入内存形成多 对象就是类所描述的同种事物中实实在 各种存储介质上。 个相同的对象,对象之间用不同的对 在的一个个体。在程序中,当一个对象产生 象变量命名得以区分。 之后就意味着它具有了生命特征,程序中的 对象是类的一个实例。
二、面向对象概念:类与对象
二、面向对象概念:类与对象3、类与对象间的关系 对象
实例化
抽象
类
主要内容
一、面向对象概念:类与对象 面向对象概念: 面向对象概念: 二、面向对象概念:类与对象 三、类的定义 四、面向对象的基本特征 五、抽象类、接口 抽象类、 六、面向对象设计原则 七、小结 八、课程实训
三、类的定义 1、定义类 语法如下:实例 实例
[修饰字] class 类名 [extends 父类名] 父类名 [implements 接口列表 { 类体 } 接口列表]
1)、创建类的关键字是“class” 成员变量和 成员变量和 2)、类以文件的形式保存在硬盘 成员方法。 成员方法。 3)、类的名字必须和文件名相同 4)、定义类的类型的关键字有3
个: public、abstract、final 5)、类的构造器的名字必须和类名相同 6)、方法申明或定义
三、类的定义 2、构造方法 构造方法:是提供对象初始化的专 构造方法 用方法,不能被显示地直接调用。1)、在一个类中与类同名的方法叫构造 方法,系统在产生对象时会自动执行 2)、构造方法通常用于定义一些初值或 与类同名而 其他准备工作 不是与java 不是与java 3)、一个类可以有多个构造函数 (重载), 文件同名。 根据参数的不同决定执行哪一个 实例 4)、如果程序中没有定义构造方法,则创 造实例时使用的是缺省方法,它是一 个无内容的空方法
三、类的定义定义在所有方法之外 3、声明或定义类的方法 的变量是类的成员变 声明成员方法的格式为: 量,定义在方法之内 [<修饰符>] [static] <返回值类型> <方法名> ([< 的变量是普通变量。参数列表>]) { [<方法体>] } 其中,〈修饰符〉和成员变量的修饰符一样, 含义也相同。 例如: public void SetDate(int y, int m, int d){...}
三、类的定义 4、super与this实例
1)、super super指这个对象的父类 super( )用来调用父类中的方法及变量数据 public class apple extends fruits{ 还可用super 还可用super 调用 public apple(int.price){ super(price); } 父类中被隐藏的成 } 员变量和方法。 以上句子表示使用超类的构造函数生 成实例。 super必须是子类构造器的第一条语句。
三、类的定义2)、this 实例 实例 this 指对象自己 this 的作用主要是在当前对象中引用自 this指向当前类的 this指向当前类的 己。如:要将对象自己当作参数,传送 实例本身。静态方法不能 实例本身。静态方法不能 给别的对象中的方法。class Circle{ 使用this关键字,因为静态 使用this关键字,因为静态
方法不属于当前类的实例, 方法不属于当前类的实例, r; , int class ThisClass{ Circle(int r){ public static void main( ){ 所以this也就没有什么东西 所以this也就没有什么东西 Bank bank=new Bank( this可以 this.r=r;} 去指向。构造器的this 去指向。构造器的 ); 可以 bank.someMethod(this); 指向同一个类中不同参数public area( ){ return r*r*3;} } 列表的另外一个构造器。 列表的另外一个构造器。 } }
主要内容
一、面向对象概念:类与对象 面向对象概念: 面向对象概念: 二、面向对象概念:类与对象 三、类的定义 四、面向对象的基本特征 五、抽象类、接口 抽象类、 六、面向对象设计原则 七、小结 八、课程实训
四、面向对象的基本特征面向对象的三大基本特征是:继承、封 装、多态。实例
1、继承(inherit) 继承是通过extends让某个类型的对象 extends 要继承就得创建子类,创建子类语法: 继承就得创建子类,创建
子类语法 获得另一个类型的对象的特性的方法。 [<修饰符>] class <子类名> extends 修饰符> 继承机制使得新 > 子类名 类不仅有自己特有的成员 也属于鸟类。 例如布谷鸟属于飞鸟类, <父类名>{...} 父类名>{ 变量和方法,而且通常是 变量和方法,而且通常是 可见,子类都具有父类的公共特性。
拥有被继承类(超类)的全 有被继承类(超类) 子 类 不 能 继 承。 类 中 访 问 权 限 为 部成员变量和方法。 部成员变量和方法 父
private的成员变量和方法;Java不支持多 重继承,即一个类从多个超类派生的能力。
正在阅读:
Java 基础 第3讲 面向对象程序设计(课时2)08-27
报刊广告发布合同书07-23
化诊试题集12-26
一种高盐印染废水的零排放系统及方法08-07
乡村卫生室2022年度工作总结范文03-24
实验:地形图分幅编号03-12
10.1浮力教学流程08-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 课时
- 程序设计
- 面向
- 对象
- 基础
- Java
- QRQC_中文版表格
- 永远的中国红
- 颁(换)发农药产品生产批准证书名单(2008年第八批)
- 新概念青少版入门级A测试卷Unit1-3
- 当前开展媒介批评需要思考的几个问题
- 全国中考满分作文——熟悉的地方,温暖的风景
- 公务员考试常用成语
- 生产部职能与组织结构
- 磁场专题复习与例题精讲
- step伺服驱动器说明书
- 通风管道安装施工工艺
- 六年级英语上册期末测试试卷分析
- 关于企业社会责任信息披露中的问题与对策
- vlan划分命令:交换机划分vl
- 2015年人教版八年级物理上册1.1《长度_时间及其测量》
- 高频电路原理与分析-第7章 频率调制与解调(1)
- 2016-2022年中国高端装备制造市场运营态势及十三五发展策略分析报告
- 常用橡胶促进剂简表
- 周尔晋小儿推拿
- 山东师范大学附中高一年级上期中考试语文试卷