Java 基础 第3讲 面向对象程序设计(课时2)

更新时间:2023-08-27 04:03:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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不支持多 重继承,即一个类从多个超类派生的能力。

本文来源:https://www.bwwdw.com/article/ndmi.html

Top