炙义、扩展和使用类及其剡象 第二篇面向对象程序殁计 第5章使用对象和类编写程序 第6章类的继承性 第7章数组和向量
第二篇 面向对象程序设计 第5章 使用对象和类编写程序 第6章 类的继承性 第7章 数组和向量
第5章使用对象 和类编写程序 理解对象和类及宅们之间的关糸;学习如何 定义类和创建类的对象;理解构造方法的作用 学习目标 σ了解对象的引用和如何向方法传递对象 σ理解类变量、类方法、实例变量和实倒方法 G变量的作用城 σ使用 String、 String Buffer处理字符串
第5章使用对象 和类编写程序 )理解对象和类及它们之间的关系;学习如何 定义类和创建类的对象;理解构造方法的作用 )了解对象的引用和如何向方法传递对象 )理解类变量、类方法、实例变量和实例方法 )变量的作用域 )使用String、StringBuffer处理字符串
古典主义: Fortran 最适用的语言才是最好的语言 神秘主义: Algol 继|影 承|响 实验主义: Pascal自然主义:BCPL 浪漫主义: Simula 存在主义: Modula-2 现实主义:C 唯美主义: Smalltalk 超现实主义:C++ 新古典主义:Ada 表现主义:Java 高级程序设计语言的发展历史 解构主义:C#
最适用的语言才是最好的语言 最适用的语言才是最好的语言 最适用的语言才是最好的语言 高级程序设计语言的发展历史 自然主义:BCPL 存在主义:Modula-2 现实主义: C 新古典主义:Ada 超现实主义:C++ 古典主义:Fortran 神秘主义:Algol 实验主义:Pascal 表现主义:Java 浪漫主义:Simula 唯美主义:SmallTalk 解构主义:C# 继 承 影 响
编程语言的几个发展阶段 面向机器语言,如汇编语言 面向过程化语言,如C、 Fortran等。过程化语 言摹仿了计算机执行指令的方式,须掌握如何 将问题分解成一连串的简单步骤。 结构化程序设计,没有改变使用的语言,而是 提供了一个新的处理方法。 矿面向对象编程,计算机程序被概念化成协同工 作、共同完成所需任务的一组对象集。把新创 建的对象和已有的对象合并起来构成自己的程 序。每个对象在整个程序中扮演着一个特定的 角色
编程语言的几个发展阶段 编程语言的几个发展阶段 ) 面向机器语言,如汇编语言。 ) 面向过程化语言,如 C 、Fortran等。过程化语 言摹仿了计算机执行指令的方式,须掌握 如 何 将问题分解成一连串的简单步骤。 ) 结构化程序设计,没有改变使用的语言, 而 是 提供了一个新的处理方法。 ) 面向对象编程,计算机程序被概念化成协 同 工 作、共同完成所需任务的一组对象集。把 新 创 建的对象和已有的对象合并起来构成自己 的 程 序。每个对象在整个程序中扮演着一个特 定 的 角色
51对象 对象代表现实世界中可以明确标识的任何 事物。 对象的属性包括:状态和行为 对象的状态是变量或域以及它们的当前值 构成的集合。 a对象的行为是方法的集合
5.1 对象 )对象代表现实世界中可以明确标识的任何 事物。 )对象的属性包括:状态和行为。 )对象的状态是变量或域以及它们的当前值 构成的集合。 )对象的行为是方法的集合
对象举例 对象的状态在计算机内部用变量来表示 对象的行为在计算机内部用方法来表示 方法实际上类似于面向过程中的函数,对象的行为或操 作定义在其方法的内部。 对象名称 对象的变量(状态) 对象的方法(行为) 汽车速度、油量、所处位置……加速、刹车、换挡 仓库结构、容量、库存 入库、出库、盘点… 国家经济状况、人口、地理位置……发展经济、战争、谈判 人五官、肤色、民族… 运动、工作、学习 复杂的社会就是由一系列简单的对象相互作用来构成的
对象举例 对象的状态在计算机内部用变量来表示 对象的状态在计算机内部用变量来表示 对象的行为在计算机内部用方法来表示 对象的行为在计算机内部用方法来表示 方法实际上类似于面向过程中的函数,对象的行为或操 类似于面向过程中的函数,对象的行为或操 作定义在其方法的内部。 作定义在其方法的内部。 对象名称 对象的变量(状态) 对象的方法(行为) 汽车 速度、油量、所处位置…… 加速、刹车、换挡…… 仓库 结构、容量、库存…… 入库、出库、盘点…… 国家 经济状况、人口、地理位置…… 发展经济、战争、谈判…… 人 五官、肤色、民族…… 运动、工作、学习…… 复杂的社会就是由一系列简单的对象相互作用来构成的
对象圈杀 变量 方法 (状态) 变量表明对象的状态。 (行为) 方法表明对象的行为。对 象的方法把对象的内部变 量包裹、封装、保护起 来,使得只有对象自己的 方法才能操作这些内部变 量
对象图示 变量 方法 (状态) 变量表明对象的状态。 (行为) 方法表明对象的行为。对 象的方法把对象的内部变 象的方法把对象的内部变 量包 裹、封装、保护起 裹、封装、保护起 来,使得只有对象自己的 来,使得只有对象自己的 方法才能操作这些内部变 方法才能操作这些内部变 量
对歌之间通信方法 对象的方法是对象与外部环境和其他对象交互、通信的 接口,对象的环境和其他对象可以通过这个接口来调用 对象的方法,操纵对象的行为和改变对象的状态。 消息传递即激活指定的某个对象的方法以改变其状态或 让它产生一定的行为。 message 对象B 对象A
对象之间通信方法 对象之间通信方法 对象的方 法是对象与外部环境和其他对象交互、通信的 是对象与外部环境和其他对象交互、通信的 接口,对 象的环境和其他对象可以通过这个接口来调用 的环境和其他对象可以通过这个接口来调用 对象的方法,操纵对象的行为和改变对象的状态。 对象的方法,操纵对象的行为和改变对象的状态。 消息传递 即激活指定的某个对象的方法以改变其状态或 激活指定的某个对象的方法以改变其状态或 让它产生一定的行为。 让它产生一定的行为。 对象 B 对象 A message
52类 σ类是定义对象的结构。变量用来描述数据, 方法用来定义行为。对象的类包含一系列数 据和方法的定义。 类是定义一个对象的数据和方法的蓝本。 对象是类的实例。可以从一类中创建许多实 例。创建一个实例被称为实例化。 对象和实例两个词通常可以互换
5.2 类 )类是定义对象的结构。变量用来描述数据, 方法用来定义行为。对象的类包含一系列数 据和方法的定义。 )类是定义一个对象的数据和方法的蓝本。 )对象是类的实例。可以从一类中创建许多实 例。创建一个实例被称为实例化。 )对象和实例两个词通常可以互换
类的定义 <类修饰符 class<类名称〉[ extends<继承类名称为] [ implements<接口名称 <类主体〉} 类修饰符:类之间具备不同的存取权限。 public、 abstract、 final 关键字:程序语言中已经定义好特定用途的字词,这些保留 关键字将不能被用来作为变量名称等自定用途,否则会影响 程序。 σJaa中,所有的类都是通过直接或间接地继承 java.lang.0 bject得到的
类的定义 [] class [extends [extends ] [implements ] { } ) 类修饰符:类之间具备不同的存取权限。 类修饰符:类之间具备不同的存取权限。 –public、abstract abstract、final ) 关键字:程序语言中已经定义好特定用途的字词,这些保留 关键字:程序语言中已经定义好特定用途的字词,这些保留 关键字将不能被用来作为变量名称等自定用途,否则会影响 关键字将不能被用来作为变量名称等自定用途,否则会影响 程序。 ) Java 中,所有的类都是通过直接或间接地 中,所有的类都是通过直接或间接地 继 承 java.lang.Object java.lang.Object得到的