Java程序设计 Programming in Java 2021/2/24
2021/2/24 1 Java程序设计 Programming in Java
第3章面向对象程序设计 2021/2/24 2
2021/2/24 2 第3章 面向对象程序设计
面向对象程序设计整体介绍 面向对象程序设计(OOP) 将数据(属性)和方法(行为或功能)封装到类 ( classes)中 数据与方法常常是紧密相关的 对象( objects:类的实例对象或类本身 个基本特性:封装性、继承性和多态性 2021/2/24
2021/2/24 3 面向对象程序设计整体介绍 • 面向对象程序设计(OOP) – 将数据(属性)和方法(行为或功能)封装到类 (classes)中 • 数据与方法常常是紧密相关的 – 对象(objects): 类的实例对象或类本身 – 三个基本特性:封装性、继承性和多态性
比较 结构化程序设计 对应的典型的计算机语言,例如:C 面向操作 action)的 函数(方法)是程序的基本单位 面向对象程序设计 对应的典型的计算机语言,例如:Java 面向对象( object)的 类(cass是程序的基本单位 方法(函数被封装在类中 数据也常常被封装在类中 2021/2/24
2021/2/24 4 比较 • 结构化程序设计 – 对应的典型的计算机语言, 例如: C – 面向操作(action)的 – 函数(方法)是程序的基本单位 • 面向对象程序设计 – 对应的典型的计算机语言, 例如: Java – 面向对象(object)的 – 类(class)是程序的基本单位 • 方法(函数)被封装在类中 • 数据也常常被封装在类中
类 类(cas本身也是一种对象 ·类( class)同时也是实例对象的模板 类( class)的基本组成:(成员)域和(成员) 方法 每个对象:拥有内存→存储成员域/方法 静态的成员域/方法兮属于类 其它成员域/法分属于实例对象 2021/2/24
2021/2/24 5 类 • 类(class)本身也是一种对象 • 类(class)同时也是实例对象的模板 • 类(class) 的基本组成:(成员)域和(成员) 方法 • 每个对象:拥有内存➔存储成员域/方法 – 静态的成员域/方法属于类 – 其它成员域/方法属于实例对象
类的定义 类的定义格式如下: 类修饰词 class类名 extends父类名/ implements接口名称列表 类体 2021/2/24
2021/2/24 6 类的定义 • 类的定义格式如下: [类修饰词] class 类名 [extends 父类名] [implements 接口名称列表] { 类体 }
多个类组成的程序 很多Java程序需要多个类完成一项任务 个文件一般只含有一个类 每个文件的长度一般不要太长 最长一般不要超过2000行 2021/2/24
2021/2/24 7 多个类组成的程序 • 很多Java程序需要多个类完成一项任务 • 一个文件一般只含有一个类 – 每个文件的长度一般不要太长 – 最长一般不要超过2000行
方法定义 与C++程序不同的是:每个方法都必须隶属于某个类 方法定义的格式: 方法修饰词返回类型方法名方法的参数列表 方法体 返回类型:返回数据的数据类型 除了构造方法,一般要求返回类型:要么为void,要么为 某种数据类型int、byte、noat或 String 最多只能返回一个值 方法名:任何一个合法的标识符 参数列表: 用逗号(分隔开 2021/2/24
2021/2/24 8 方法定义 • 与C++程序不同的是: 每个方法都必须隶属于某个类 • 方法定义的格式: [方法修饰词] 返回类型 方法名(方法的参数列表) { 方法体 } – 返回类型: 返回数据的数据类型 • 除了构造方法,一般要求返回类型: 要么为void,要么为 某种数据类型int、byte、float或String • 最多只能返回一个值 – 方法名: 任何一个合法的标识符 – 参数列表: • 用逗号(,)分隔开
自定义类 成员变量 成员方法 构造方法 2021/2/24
2021/2/24 9 自定义类 • 成员变量 • 成员方法 • 构造方法
在Jav语言中,声明类的一般格式为: [修饰符] class类名{ 声明类的变量 声明构造方法 声明类的方法 2021/2/24
2021/2/24 10 在Java语言中,声明类的一般格式为: [修饰符] class 类名 { 声明类的变量 声明构造方法 声明类的方法 }