Java面向对象程序设计第3章面向对象编程基础1
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2024/7/5
面向过程编程与面向对象编程比较
实例:编写求解矩形面积和周长的程序
1.面向过程的编程方法
将任务分解为求解矩形面积和周长的方法 编写计算矩形面积和矩形周长的函数 在主程序中,调用求解计算矩形面向和周长的函数,完成
程序功能
2.面向对象的编程方法
编写描述矩形对象的类,类中包含矩形的长、宽等属性、 求解矩形面积和周长的方法
在主程序中,创建一个指定长、宽的矩形对象,发送求解 面积和周长的消息给矩形对象,对象作出反应,计算并返 回面积和周长值,完成程序功能
2024/7/5
面向过程方法与面向对象方法比较
面向过程方法:
采用功能划分的方法求解问题 方法强调过程的抽象和模块化 函数是组成程序的基本单元
当你看到这个面积函数的时候,你知道这是求矩形的面 积的函数吗?
面向对象方法:
侧重于采用系统结构的划分方法来求解问题 方法强调对现实世界的实体和概念的抽象 类是组成程序的基本单元
2024/7/5
面向过程编程与面向对象编程比较
结构化程序设计方法与面向对象程序设计方法地 比较:
结构化程序设计侧重于功能抽象,强调确定和分解 系统的功能。其缺点:
功能分解的随意性大 系统功能最不稳定,易变化
映射
现实世界 实体
实例化
抽象
类
计算机逻辑的实现
抽象 抽象数据类型
2024/7/5
类与对象的概念
对象与类
对象:现实世界中某个具体的物理实体在计算机逻辑中的映 射和体现,其基本组成: 对象标识 状态(对象的静态属性) 行为(对象的操作) (张三,男,吃饭)
类:一种抽象的数据类型,是同种对象的集合与抽象。是 Java程序的基本组成要素,描述了一类对象的状态 和行为,其基本成分包括:
}
void selectCourse(){ System.out.println(“学生”+stuName+”已选课”);
}
String getStuInfo(){
return “”学号:”+stuNum+”\t 姓名:”+stuName+”\t 性 别:”+stuSex+”\t 年龄:”+stuAge;
对象及对象的使用
对象
对象是一个动态概念,具有产生、使用和消亡的生 命周期
通过new操作符创建对象 对象属性的使用:
对象名.属性;
对象方法的使用:
对象名. 方法名();
当对象不再使用时,将由系统的垃圾回收机制进行 回收。
2024/7/5
类的创建与对象使用实例
实战演习:习题1、习题2
主要内容
面向对象技术的基本思想和方法 什么是类?什么是对象?他们之间的
关系 类、对象的Java实现
2024/7/5
能力要求
理解面向对象编程的基本思想 掌握类、对象的基本概念,类与对象之间的关系 能用Java语言编写一个类 能实现对象的生成及对对象的成员方法和成员变
量的调用
2024/7/5
成员变量 成员方法
(人,性别,吃饭的过程)
请大家分析“学生”—“孙旭川”
2024/7/5
类与对象的Java实现
➢ 现实世界中的实体:学生
➢ 抽象数据描述:
➢ 数据描述:学号、姓名、性别、年龄;
➢ 行为描述:入学注册、选课。
➢ Java中的类
Java中的对象
Class Student{
int stuNum;
类与对象的另一实例
对象是类的实例
2024/7/5
Java中定义类的通用格式:
class Student{
int stuNum; String stuName; char stuSex;
成员变量(对象属性)
成员方法(对象的行 为或操作)
int stuAge;
void enrol(){ System.out..println(“学生”+stuName+” 已注册入学”);
请大家调试例3-1所示的学生类。 运行它,出现什么结果? 问题:当我要知道孙旭川的情况时,是直接看学
生的情况,还是看孙旭川的情况?
类————对象 Student————s1 Student s1=new Student(); 请大家调试例3-2,分析例3-2与例3-1之间的关系
2024/7/5
对象是类的一个具体实例,每个对象的成员变量值 是具体的,即对象都具有特定的状态;
必须通过类的实例对象使用类,而不能直接使用类; 通过“.”操作符来访问对象的成员变量与成员方法。
如“对象.成员变量”或“对象.成员方法”。
2024/7/5
System.out.println(“学生”+stuName+”已选课”);
}
String getStuInfo(){
return “”学号:”+stuNum+”\t 姓名:”+stuName+”\t 性别:”+stuSex+”\t 年龄:”+stuAge;}
}
}
2024/7/5
类与对象的Java实现
}
} 2024/7/5
类的成员变量与成员方法
成员变量
1.命名约定
遵循Java标识符的基本规则 遵循命名惯例
2.默认值
未赋值的成员变量将被系统赋予默认值
成员方法基本结构
type methodName([parameter-list]){
//方法体
}
方法返回 类型
方法名
参数列表, 可选
2024/7/5
Student stu1=new Student()
String stuName;
Student stu2=new Student();
char stuSex;
int stuAge;
void enrol(){
System.out..println(“学生”+stuName+” 已注册入学”);
}
void selectCourse(){
面向对象程序设计侧重于描述系统结构,功能抽象 +数据抽象,其优点:
系统结构相对稳定 灵活的机制,如继承、多态和动态绑定有利于修改和扩充
系统功能
2024/7/5
面向对象编程小结(1)
类是Java程序的基本组成单元,Java程序由一个或 多个类组量与成员方法 构成;
现实生活中的实例
汽车的制造过程 1、发动机的图纸——发动机 2、轮胎的图纸——轮胎 …. n、汽车整体的图纸——汽车
通过构造不同的汽车图纸,可以制造出不同配置的汽车 抽象——具体 类——对象
请大家列举出几种类和对象之间的关系
2024/7/5
面向对象技术的基本概念和特征
对象、类和实体
计算机世界 对象
面向过程编程与面向对象编程比较
实例:编写求解矩形面积和周长的程序
1.面向过程的编程方法
将任务分解为求解矩形面积和周长的方法 编写计算矩形面积和矩形周长的函数 在主程序中,调用求解计算矩形面向和周长的函数,完成
程序功能
2.面向对象的编程方法
编写描述矩形对象的类,类中包含矩形的长、宽等属性、 求解矩形面积和周长的方法
在主程序中,创建一个指定长、宽的矩形对象,发送求解 面积和周长的消息给矩形对象,对象作出反应,计算并返 回面积和周长值,完成程序功能
2024/7/5
面向过程方法与面向对象方法比较
面向过程方法:
采用功能划分的方法求解问题 方法强调过程的抽象和模块化 函数是组成程序的基本单元
当你看到这个面积函数的时候,你知道这是求矩形的面 积的函数吗?
面向对象方法:
侧重于采用系统结构的划分方法来求解问题 方法强调对现实世界的实体和概念的抽象 类是组成程序的基本单元
2024/7/5
面向过程编程与面向对象编程比较
结构化程序设计方法与面向对象程序设计方法地 比较:
结构化程序设计侧重于功能抽象,强调确定和分解 系统的功能。其缺点:
功能分解的随意性大 系统功能最不稳定,易变化
映射
现实世界 实体
实例化
抽象
类
计算机逻辑的实现
抽象 抽象数据类型
2024/7/5
类与对象的概念
对象与类
对象:现实世界中某个具体的物理实体在计算机逻辑中的映 射和体现,其基本组成: 对象标识 状态(对象的静态属性) 行为(对象的操作) (张三,男,吃饭)
类:一种抽象的数据类型,是同种对象的集合与抽象。是 Java程序的基本组成要素,描述了一类对象的状态 和行为,其基本成分包括:
}
void selectCourse(){ System.out.println(“学生”+stuName+”已选课”);
}
String getStuInfo(){
return “”学号:”+stuNum+”\t 姓名:”+stuName+”\t 性 别:”+stuSex+”\t 年龄:”+stuAge;
对象及对象的使用
对象
对象是一个动态概念,具有产生、使用和消亡的生 命周期
通过new操作符创建对象 对象属性的使用:
对象名.属性;
对象方法的使用:
对象名. 方法名();
当对象不再使用时,将由系统的垃圾回收机制进行 回收。
2024/7/5
类的创建与对象使用实例
实战演习:习题1、习题2
主要内容
面向对象技术的基本思想和方法 什么是类?什么是对象?他们之间的
关系 类、对象的Java实现
2024/7/5
能力要求
理解面向对象编程的基本思想 掌握类、对象的基本概念,类与对象之间的关系 能用Java语言编写一个类 能实现对象的生成及对对象的成员方法和成员变
量的调用
2024/7/5
成员变量 成员方法
(人,性别,吃饭的过程)
请大家分析“学生”—“孙旭川”
2024/7/5
类与对象的Java实现
➢ 现实世界中的实体:学生
➢ 抽象数据描述:
➢ 数据描述:学号、姓名、性别、年龄;
➢ 行为描述:入学注册、选课。
➢ Java中的类
Java中的对象
Class Student{
int stuNum;
类与对象的另一实例
对象是类的实例
2024/7/5
Java中定义类的通用格式:
class Student{
int stuNum; String stuName; char stuSex;
成员变量(对象属性)
成员方法(对象的行 为或操作)
int stuAge;
void enrol(){ System.out..println(“学生”+stuName+” 已注册入学”);
请大家调试例3-1所示的学生类。 运行它,出现什么结果? 问题:当我要知道孙旭川的情况时,是直接看学
生的情况,还是看孙旭川的情况?
类————对象 Student————s1 Student s1=new Student(); 请大家调试例3-2,分析例3-2与例3-1之间的关系
2024/7/5
对象是类的一个具体实例,每个对象的成员变量值 是具体的,即对象都具有特定的状态;
必须通过类的实例对象使用类,而不能直接使用类; 通过“.”操作符来访问对象的成员变量与成员方法。
如“对象.成员变量”或“对象.成员方法”。
2024/7/5
System.out.println(“学生”+stuName+”已选课”);
}
String getStuInfo(){
return “”学号:”+stuNum+”\t 姓名:”+stuName+”\t 性别:”+stuSex+”\t 年龄:”+stuAge;}
}
}
2024/7/5
类与对象的Java实现
}
} 2024/7/5
类的成员变量与成员方法
成员变量
1.命名约定
遵循Java标识符的基本规则 遵循命名惯例
2.默认值
未赋值的成员变量将被系统赋予默认值
成员方法基本结构
type methodName([parameter-list]){
//方法体
}
方法返回 类型
方法名
参数列表, 可选
2024/7/5
Student stu1=new Student()
String stuName;
Student stu2=new Student();
char stuSex;
int stuAge;
void enrol(){
System.out..println(“学生”+stuName+” 已注册入学”);
}
void selectCourse(){
面向对象程序设计侧重于描述系统结构,功能抽象 +数据抽象,其优点:
系统结构相对稳定 灵活的机制,如继承、多态和动态绑定有利于修改和扩充
系统功能
2024/7/5
面向对象编程小结(1)
类是Java程序的基本组成单元,Java程序由一个或 多个类组量与成员方法 构成;
现实生活中的实例
汽车的制造过程 1、发动机的图纸——发动机 2、轮胎的图纸——轮胎 …. n、汽车整体的图纸——汽车
通过构造不同的汽车图纸,可以制造出不同配置的汽车 抽象——具体 类——对象
请大家列举出几种类和对象之间的关系
2024/7/5
面向对象技术的基本概念和特征
对象、类和实体
计算机世界 对象