北大青鸟 c 第三章 类和对象 Ⅴ ersion3.0 CHA
Version 3.0 第三章 类和对象
回顾 ·Java具有8种基本数据类型:int、 boolean char、 short、long、 float及 double Java中的运算符可划分为四大子集:算术 运算符、位运算符、关系运算符、逻辑运算 符 ·Java支持下列控制结构:选择、循环、跳 转 数组可用来将同一类型的数据存储在连续的 内存位置 北大青鸟
2 回顾 • Java 具有8种基本数据类型:int、boolean、 char、short、long、float 及 double • Java 中的运算符可划分为四大子集:算术 运算符、位运算符、关系运算符、逻辑运算 符 • Java 支持下列控制结构:选择、循环、跳 转 • 数组可用来将同一类型的数据存储在连续的 内存位置
目标 掌握如何创建类和构造对象 掌握方法的重载和覆盖 了解类的继承 了解包概念 北大青鸟
3 目标 • 掌握如何创建类和构造对象 • 掌握方法的重载和覆盖 • 了解类的继承 • 了解包概念
类和对象21 对象表示现实世界中某个具体的事物。 ·抽象是从特定的实例中抽取共同的性质以形 成一般化概念的过程。 对象具有两方面的含义 在现实世界中: 是客观世界中的一个实体 在计算机世界中: 是一个可标识的存储区域 北大青鸟
4 类和对象2-1 • 对象表示现实世界中某个具体的事物。 • 抽象是从特定的实例中抽取共同的性质以形 成一般化概念的过程。 • 对象具有两方面的含义: 在现实世界中: 是客观世界中的一个实体 在计算机世界中: 是一个可标识的存储区域
类和对象22 封装的实体=数据+方法 数据或变量 类是具有共同属性 和行为的对象的抽 类 象 方法 类可以定义为数据抽 和方法的集合。 象 实例化 类也称为模板,因 属性或状态 为它们提供了对象 对象 的基本框架。 操作或行为 北大青鸟
5 类和对象 2-2 • 类是具有共同属性 和行为的对象的抽 象。 • 类可以定义为数据 和方法的集合。 • 类也称为模板,因 为它们提供了对象 的基本框架。 类 对象 抽 象 实 例 化 属性或状态 操作或行为 数据或变量 方法 封装的实体=数据+方法
创建类。。畿美 属性是通过成员变 成 称为芳法)卖现的。 Java中定义类的通用格式 class( name type variable 成员变量(对象属性) type variablen 成员方法 type methodnamel(parameter-list)i 对象行为 //方法体 或操作 type methodnameN (parameter-list)t //方法体 北大青鸟
6 创建类 class name { type variable1; … type variableN; type methodname1(parameter-list){ //方法体 } … type methodnameN(parameter-list){ //方法体 } } 在类中,属性是通过成员变 量体现的,而操作是用成员 函数(又称为方法)实现的。 Java中定义类的通用格式: 成员变量(对象属性) 成员方法 (对象行为 或操作)
定义方法。 发往某个对象的消息对应于 对消息 艘题方篷 包含在类中的函数 ·定义方法的一般格式 qaccessKtypemethodnameb([parameter-listp)i //法体 修饰符 返回类型 方法名称 参数列表, 可选 可选 举例: public void setdate ( int day, int month, int year)i day=2 3; month=7, year=2003; 北大青鸟
7 定义方法 • 定义方法的一般格式: [access] type methodname1([parameter-list]){ //方法体 } 发往某个对象的消息对应于 一个方法调用。作为对消息 的响应,对象将执行一个类 似于过程体的方法。方法是 包含在类中的函数。 方法名称 修饰符, 返回类型 可选 参数列表, 可选 • 举例: public void setdate(int day, int month, int year){ day=23; month=7; year=2003; }
对象作为参数翻 当对象作为函数参数时, 该对 孜变 该对象的引浦用 class Testi void swapo](Day x, Day y)i int a,b Day temp=yi rest(int ir int 3)[ a-li 引用本身 x=temp i b=] 按值传递 //可以在函数中改变对象状态 obil Day void change(rest obj) 2002,5,30 obJ obj. a=50; Day obj. b=40; 2003,7,23 改变对象 状态 调用 swapobjobj1,obj2) 北大青鸟
8 对象作为参数 class Test{ int a,b; Test(int i,int j) { a=i; b=j; } //可以在函数中改变对象状态 void change(Test obj) { obj.a=50; obj.b=40; } } 当对象作为函数参数时, 在函数中只能改变该对 象的状态,但不能改变 该对象的引用 void swapobj(Day x,Day y){ Day temp=y; y=x; x=temp; } 引用本身 按值传递 Day 2002,5,30 Day 2003,7,23 obj1 obj2 x y 调用swapobj(obj1,obj2) 改变对象 状态 x y
this引用 关键字ths与对象关联 它用于指示当前对象 public class Passfest t int xi 指明些对象的套 PassTest(int x)( 量ⅹ应赋值 this x=x; 构语的数砖罐 public void passingvalue ()t System.out. print1n(“x等于"+x); public static void main(string args[])[ PassTest test new PassTest(10)i test. passingvalue()i 北大青鸟
9 this引用 public class PassTest { int x; PassTest(int x) { this.x=x; } public void passingValue(){ System.out.println(“x 等于 " +x); } public static void main(String args[]) { PassTest test = new PassTest(10); test.passingValue(); } } ❖关键字 this 与对象关联 ❖它用于指示当前对象 指明此对象的变 量 x 应赋值为通 过构造函数传递 的自变量 x 的值
简单访问控制- private和 public public声明的数据成员和 成员函数可从类外部的任 何地方访向问。 pr ·而 private数据将被隐藏 不可从类 在类外不可见,这就实现 了数据封装的思想。 public 要从类外操纵 private成员, 只能通过类的 publics或 可从类外 数据或函数 部访问 protected成员来实现。 北大青鸟
10 简单访问控制 - private 和 public • public 声明的数据成员和 成员函数可从类外部的任 何地方访问。 • 而private 数据将被隐藏, 在类外不可见,这就实现 了数据封装的思想。 • 要从类外操纵private 成员, 只能通过类的public或 protected成员来实现