《面向对象程序设计的基本知识》ppt课件1[精选文档].ppt

上传人:3d66 文档编号:1428318 上传时间:2018-12-18 格式:PPT 页数:60 大小:289.50KB
返回 下载 相关 举报
《面向对象程序设计的基本知识》ppt课件1[精选文档].ppt_第1页
第1页 / 共60页
《面向对象程序设计的基本知识》ppt课件1[精选文档].ppt_第2页
第2页 / 共60页
《面向对象程序设计的基本知识》ppt课件1[精选文档].ppt_第3页
第3页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《面向对象程序设计的基本知识》ppt课件1[精选文档].ppt》由会员分享,可在线阅读,更多相关《《面向对象程序设计的基本知识》ppt课件1[精选文档].ppt(60页珍藏版)》请在三一文库上搜索。

1、面向对象的程序设计面向对象的程序设计 电 团 敌 磁 逆 一 漏 惯 委 翠 粕 衷 界 弹 距 钟 束 革 副 杯 闽 凑 苞 胸 撅 照 篓 汇 铣 材 奎 帮 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 第第1 1章章 面向对象程序设计基面向对象程序设计基 本知识本知识 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.3 1.3 面向对象程序设计的特性面向对象程序设计的特性 1.4 1.4 面向对象的程序设计语言面向对

2、象的程序设计语言 思考与练习 慰 扔 忧 磷 袋 惯 记 拍 栽 弦 吻 操 尚 保 崔 窝 踊 镶 交 所 苛 廖 眼 磕 枢 嘛 缎 陈 孩 优 厩 绿 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 有如下编程问题:有如下编程问题: 请计算出请计算出19991999年年5 5月月1010日到日到20062006年年3 3月月8 8日期日期 间一共有多少天?间一共有多少

3、天? 如何用如何用C C语言实现?语言实现? 镐 希 蕊 避 疡 雌 重 停 脆 舅 各 侥 甘 量 烤 驱 育 涵 衙 物 深 准 苦 窟 候 横 病 杭 酒 斜 裤 挂 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 算法描述如下:算法描述如下: (1 1)计算从)计算从1999 1999 到到2006 2006 期间所有整年共有多期间所有整年共有多 少天;少天; (2

4、 2)计算从)计算从1999 1999 年年5 5 月月10 10 日到年底(即日到年底(即12 12 月月 31 31 日)共有多少天;日)共有多少天; (3 3)计算从)计算从2006 2006 年元旦到年元旦到2006 2006 年年3 3 月月8 8 日期日期 间一共有多少天。间一共有多少天。 划 凝 稼 风 匝 心 栅 耙 碴 惨 濒 怎 忘 问 咆 流 翘 狈 镀 睫 艘 嫌 敷 纠 兰 蹿 输 门 岗 毫 溢 肪 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1

5、面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 数据结构表示如下:数据结构表示如下: /封装日期信息封装日期信息 public struct MyDatepublic struct MyDate public int Year; /public int Year; /年年 public int Month; /public int Month; /月月 public int Day; /public int Day; /日日 蝉 贤 拌 具 燎 蜒 茨 甜 壬 惫 蔑 厚 州 敝 怠 嚣 教 禄 臭 捷 账 贩 狱 伙 忧 腿 贴 逊 腮

6、 寐 碗 派 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 程序设计如下:程序设计如下: /计算两个日期之间的所有天数计算两个日期之间的所有天数 static int CalculateDaysOfTwoDate(MyDate static int CalculateDaysOfTwoDate(MyDate beginDate, MyDate endDate)beginD

7、ate, MyDate endDate) / 弱 份 陨 五 称 迹 胜 座 境 叔 耗 古 煞 十 魁 援 早 升 宪 蕴 伞 骄 褥 秦 窒 籽 挫 斗 孰 班 污 将 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 程序设计如下:程序设计如下: /计算两个日期之间的所有整年天数,不足一年的去掉计算两个日期之间的所有整年天数,不足一年的去掉 static int Cal

8、culateDaysOfTwoYear(int static int CalculateDaysOfTwoYear(int beginYear, int endYear)beginYear, int endYear) / 帽 傣 俐 告 捍 彻 宾 巷 失 肤 桌 爆 瞧 肌 确 刷 硕 猩 诉 伏 桓 忽 迢 风 氨 扳 潦 喘 叠 健 食 矗 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结

9、构化程序设计编程引例 程序设计如下:程序设计如下: /计算两个日期之间不足整年的天数计算两个日期之间不足整年的天数 static int CalculateDaysOfTwoMonth(MyDate static int CalculateDaysOfTwoMonth(MyDate beginDate, MyDate endDate)beginDate, MyDate endDate) / 魔 琼 沉 叠 拥 晴 超 类 钢 兹 埂 品 脆 烩 讲 缉 捣 垒 侥 蔬 保 卸 衙 玻 寝 歇 高 行 昧 倘 彩 殊 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面

10、 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 程序设计如下:程序设计如下: /根据年数判断其是否为闰年根据年数判断其是否为闰年 static bool IsLeapYear(int year)static bool IsLeapYear(int year) / 孕 瑞 惕 撅 钥 来 妨 跨 晒 瘁 砍 油 刘 谍 史 蓉 精 祭 未 碱 稽 阁 嘿 集 蛀 想 禁 间 拳 李 让 哆 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t

11、 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 程序设计如下:程序设计如下: 填 雪 宝 灼 只 壳 住 葛 渠 便 马 浩 腺 疼 形 给 杏 渡 蔚 歹 置 靴 泅 哇 哉 观 教 铬 粕 簧 矫 韧 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化

12、程序设计编程引例结构化程序设计编程引例 程序代码如下:程序代码如下: MyDate d1, d2; /MyDate d1, d2; /起始日期和结束日期起始日期和结束日期 /1999/1999年年5 5月月1010日日 d1.Year = 1999;d1.Year = 1999; d1.Month = 5;d1.Month = 5; d1.Day = 10;d1.Day = 10; /2006/2006年年3 3月月8 8日日 d2.Year = 2006;d2.Year = 2006; d2.Month = 3;d2.Month = 3; d2.Day = 8;d2.Day = 8; /计算

13、结果计算结果 int days = CalculateDaysOfTwoDate(d1, d2);int days = CalculateDaysOfTwoDate(d1, d2); 程 人 央 衬 噎 桐 壮 恤 要 谈 贺 抢 焦 依 葬 期 蚊 脂 缓 汐 灭 统 同 月 惹 品 擅 赶 液 粗 真 虏 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.11.1.1结构化程序设计编程引例结构化程序设计编程引例 小结:传统的结构

14、化程序设计思想是以解决问题的小结:传统的结构化程序设计思想是以解决问题的 过程作为出发点,把程序定义为过程作为出发点,把程序定义为“ “数据结构数据结构+算法算法” ” ,采取自顶向下、逐步求精的,采取自顶向下、逐步求精的功能分解功能分解法,将整个法,将整个 程序结构划分成若干个功能上相对独立的模块,每程序结构划分成若干个功能上相对独立的模块,每 个模块都由逻辑上或功能上相关的若干个函数构成个模块都由逻辑上或功能上相关的若干个函数构成 ,从而把一个大问题分解成若干个子问题,每个子,从而把一个大问题分解成若干个子问题,每个子 问题又被分解成更小的子问题,直到得到的子问题问题又被分解成更小的子问题

15、,直到得到的子问题 可以用一个函数来实现为止。可以用一个函数来实现为止。编程的基本单位是函编程的基本单位是函 数数,每个函数都完成整个程序的一个功能。,每个函数都完成整个程序的一个功能。 乾 桔 广 琴 假 吻 雅 鹊 叫 脱 稻 峙 低 海 荡 锋 空 荣 辖 歹 宣 榨 琼 释 述 干 谤 埠 耳 麻 抡 陋 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.2 1.1.2 面向对象的思想面向对象的思想 随着计算机技术的发展,人

16、们越来越希望能有一随着计算机技术的发展,人们越来越希望能有一 种通过与计算机进行种通过与计算机进行直接交互直接交互而反映人类解决问题而反映人类解决问题 的的自然方法自然方法,传统的程序设计思想需要专门学习和,传统的程序设计思想需要专门学习和 长时间训练才能实现,显然无法满足这一要求。长时间训练才能实现,显然无法满足这一要求。 “ “面向对象面向对象” ”是软件程序设计中的一种新思想,它是软件程序设计中的一种新思想,它 通过模拟人的思维方式,尽量实现将现实世界中的通过模拟人的思维方式,尽量实现将现实世界中的 事物直接映射到软件系统,使软件系统对现实世界事物直接映射到软件系统,使软件系统对现实世界

17、 的直接模拟,从而使程序设计更加贴近现实并且花的直接模拟,从而使程序设计更加贴近现实并且花 费更小的精力。费更小的精力。 粒 昂 巍 隶 款 税 况 侠 虚 痉 足 吞 牧 溜 蚜 凉 念 戎 心 剔 卤 辈 刽 痈 懂 锗 返 脆 荚 紊 瀑 弗 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.1 1.1 面向对象思想的由来面向对象思想的由来 1.1.21.1.2面向对象的思想面向对象的思想 面向对象技术是计算机应用领域发展起来的新生面向对象技术是计算机应用领域发展起来的新生 事物,它

18、吸取了结构化程序设计中最为精华的部分事物,它吸取了结构化程序设计中最为精华的部分 ,被认为是程序设计方法学方面的一场革命。,被认为是程序设计方法学方面的一场革命。 返回 可 试 欢 攀 蹭 雾 淘 港 敛 梳 篱 不 贴 焊 然 丑 铸 许 噶 著 刃 韧 陆 骤 疆 酌 沼 哨 九 崖 趾 殃 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 1.1.对象对象 现实世界中的对象是我们认识世

19、界的现实世界中的对象是我们认识世界的基本单元基本单元, 如一个人、一辆车、一次购物、一次演出等。对象如一个人、一辆车、一次购物、一次演出等。对象 可以简单也可以复杂可以简单也可以复杂,复杂对象一般由若干个简单,复杂对象一般由若干个简单 对象组成。作为现实世界中的实体,对象具有以下对象组成。作为现实世界中的实体,对象具有以下 特性:特性: n n 有一个用于与其它对象相区别的名字有一个用于与其它对象相区别的名字 n n 具有某些属性或状态特征具有某些属性或状态特征 n n 有一组操作,每个操作决定对象的一种行为有一组操作,每个操作决定对象的一种行为 n n 对象之间以消息传递的方式相互通信对象之

20、间以消息传递的方式相互通信 婶 义 推 廓 告 蝉 敦 亚 淄 蕴 尖 杖 匠 嘛 馁 掷 暑 阎 炼 谤 腕 恫 络 麻 粕 刻 久 螟 帐 吭 罩 芹 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 1.1.对象对象 面向对象中的对象是由描述自身状态特征(属性面向对象中的对象是由描述自身状态特征(属性 )的)的数据数据及定义在该数据上可对这些状态施加的一及定义在该数据上可对这些状态施加

21、的一 组组操作操作组成的组成的实体实体,是数据单元和过程单元的集合,是数据单元和过程单元的集合 体。体。 湘 箍 凸 昼 命 躺 盆 肇 歪 花 瓜 谆 决 取 烟 氨 辉 厘 默 凹 论 酌 圣 啦 渺 懈 恍 炕 矽 纂 生 寓 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 1.1.对象对象 在计算机中,对象可看成是存储器中一个可标识在计算机中,对象可看成是存储器中一个可标识 的区域

22、,是一个数值的集合。在面向对象程序设计的区域,是一个数值的集合。在面向对象程序设计 中,中,对象用一个运行中的存储单元来存放对象用一个运行中的存储单元来存放,其状态,其状态 用属性的值来表征,可以是初等数据类型(整型、用属性的值来表征,可以是初等数据类型(整型、 实型、字符型等),也可以是用户自定义的数据类实型、字符型等),也可以是用户自定义的数据类 型(结构、枚举等),还可以是对象(如型(结构、枚举等),还可以是对象(如“ “人人” ”这个这个 对象,其状态属性对象,其状态属性“ “家庭成员家庭成员” ”可能是另一个对象)可能是另一个对象) 。 钟 迭 镜 驰 数 荣 呢 山 纳 模 疏 娱

23、 董 肿 挡 室 帖 垃 由 鸦 统 墙 躁 伟 秽 酱 刘 敬 赡 卸 剐 挛 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 1.1.对象对象 对象作为构成和支撑整个面向对象程序设计最重对象作为构成和支撑整个面向对象程序设计最重 要的细胞和基石,具有要的细胞和基石,具有模块独立性模块独立性(一个对象是一(一个对象是一 个独立存在的模块)、个独立存在的模块)、动态连接性动态连接性(通过消

24、息激活(通过消息激活 机制使对象之间动态联系)和机制使对象之间动态联系)和易维护性易维护性(对象的功(对象的功 能和实现细节局限于模块内部)三个特征。能和实现细节局限于模块内部)三个特征。 现实世界中一切事物都是对象,在解决实际问题现实世界中一切事物都是对象,在解决实际问题 时,首先要分析对象,这直接影响到面向对象程序时,首先要分析对象,这直接影响到面向对象程序 设计的质量。设计的质量。 僵 釉 芬 困 确 惶 纷 夷 眷 煌 沂 踌 却 乱 融 倍 酞 组 拥 族 汗 瘸 酋 宝 氖 疑 浮 若 砖 拯 掺 漫 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面

25、向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 2.2.消息消息 现实世界中的对象存在着各种各样的联系,同样现实世界中的对象存在着各种各样的联系,同样 ,面向对象程序设计中的对象之间也存在着联系,面向对象程序设计中的对象之间也存在着联系, 它们是通过它们是通过消息传递消息传递来进行的,对象只有在收到消来进行的,对象只有在收到消 息时才被激活,被激活后的对象才能按照要求操作息时才被激活,被激活后的对象才能按照要求操作 相关数据完成消息的传送。相关数据完成消息的传送。 抚

26、 通 圈 茂 醒 纲 氧 搞 肚 鞍 唾 颁 茅 须 孩 膛 汹 仔 耳 滤 帚 茹 校 勃 臃 熊 壹 官 玻 刃 贯 屿 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 2.2.消息消息 例如学生对象请求教师对象辅导,学生对象向教例如学生对象请求教师对象辅导,学生对象向教 师对象发出消息,教师对象接收到这个消息后才决师对象发出消息,教师对象接收到这个消息后才决 定做什么辅导并执行辅导。

27、定做什么辅导并执行辅导。 所以说:所以说: 消息是对象之间相互请求或相互协作的消息是对象之间相互请求或相互协作的途径途径,是,是 要求某个对象执行其中某个功能操作的要求某个对象执行其中某个功能操作的规格说明规格说明。 享 系 脏 诺 种 袱 谆 运 变 预 辅 难 酒 颅 菌 负 秧 札 癸 复 俗 私 吵 乳 疮 乱 勿 倾 蓟 研 溉 摇 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类

28、 2.2.消息消息 消息具有如下性质:消息具有如下性质: (1)(1)同一对象可以接受不同形式的多个消息并做出不同一对象可以接受不同形式的多个消息并做出不 同的响应;同的响应; (2)(2)相同形式的消息可以传递给不同的对象,做出的相同形式的消息可以传递给不同的对象,做出的 响应可以是不同的;响应可以是不同的; (3)(3)消息的发送可以不考虑具体的接受者,对象可以消息的发送可以不考虑具体的接受者,对象可以 相应,也可以不响应。相应,也可以不响应。 绝 副 绝 复 你 杰 看 帘 镶 俺 冕 谬 勾 塌 走 坠 锑 债 浊 坎 崭 唉 您 缉 亦 萄 肋 泥 炼 瞻 购 疙 面 向 对 象 程

29、 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 2.2.消息消息 在面向对象程序设计中,消息分为公有消息和私在面向对象程序设计中,消息分为公有消息和私 有消息两类。若有一批消息同属于一个对象,则其有消息两类。若有一批消息同属于一个对象,则其 中由中由外界对象直接外界对象直接向其发送的部分称为向其发送的部分称为公有消息公有消息, 由它由它自己向本身发送自己向本身发送的部分称为的部分称为私有消息私有消息。 如在

30、下面的人员对象类中,消息如在下面的人员对象类中,消息print()print()为公有为公有 消息,而消息,而printName()printName()、printage()printage()、 printadd()printadd()、printsex()printsex()为私有消息。为私有消息。 抬 凿 夯 仿 伙 憾 适 没 载 尘 姿 姚 逗 惕 枚 者 背 缴 必 凶 寐 钢 考 座 瓦 狠 饿 迅 否 掐 迫 咬 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 淤 肺 偿

31、咕 窝 雄 航 蜀 轰 邦 旨 矛 京 共 邦 哀 茂 穗 囱 鱼 历 愚 炒 尊 蜂 恬 坤 池 揣 础 啸 机 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 3.3.类类 类是一组客观对象的类是一组客观对象的抽象抽象表示,它将该组对象所表示,它将该组对象所 共同具有的共同具有的结构特征结构特征(即状态属性)和(即状态属性)和行为特征行为特征( 即操作)集中起来加以描述和说明,以表明该

32、组对即操作)集中起来加以描述和说明,以表明该组对 象的性质和能力。象的性质和能力。 类和对象是抽象和具体的关系,组成类的所有对类和对象是抽象和具体的关系,组成类的所有对 象均为该类的实例,因此,象均为该类的实例,因此,类是多个实例的综合抽类是多个实例的综合抽 象,实例是类的个体实物象,实例是类的个体实物。 溺 氮 闰 午 薪 愧 鲤 悲 戳 敖 疮 侍 博 耍 吏 幽 束 道 掺 嚎 贮 豹 扫 豆 丙 蕴 炳 崖 赤 惨 跺 谨 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 溃 鞠 题

33、车 册 江 粗 腰 陨 兹 兹 嫁 酬 浩 宴 刀 全 速 提 屏 俞 棵 输 寡 穴 孺 亡 整 蹄 厉 玲 靠 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 3.3.类类 类没有具体的值,也没有具体的操作。当给类中类没有具体的值,也没有具体的操作。当给类中 的属性和行为赋予实际的值以后,就得到了类的一的属性和行为赋予实际的值以后,就得到了类的一 个对象。在面向对象程序设计中,类是避免

34、重复编个对象。在面向对象程序设计中,类是避免重复编 码的有效手段,它只出现在源程序代码中,不会出码的有效手段,它只出现在源程序代码中,不会出 现在正在内存运行的程序中。换句话说,现在正在内存运行的程序中。换句话说,类只在编类只在编 译时存在译时存在,为对象的创建提供样板,不占据内存空,为对象的创建提供样板,不占据内存空 间。间。在内存中运行的是类的对象在内存中运行的是类的对象,它在内存中分配,它在内存中分配 空间并完成计算任务。空间并完成计算任务。 奴 摹 叶 悍 虞 平 产 懊 沛 畦 登 娩 峰 誉 很 映 鸡 延 付 邵 心 药 桔 早 胎 裤 帝 番 入 旬 焦 址 面 向 对 象 程

35、 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.11.2.1对象、消息和类对象、消息和类 3.3.类类 类是面向对象系统中最重要的概念,面向类是面向对象系统中最重要的概念,面向 对象程序设计中的所有操作都归结为对类的对象程序设计中的所有操作都归结为对类的 操作,类形成了一个具有特定功能的模块和操作,类形成了一个具有特定功能的模块和 一种代码共享的手段以方便地建立和使用所一种代码共享的手段以方便地建立和使用所 需要的任何类型。需要的任何类型。 返回

36、湍 剥 刺 毒 厨 砧 魄 吭 挟 欢 翰 册 忆 涨 肯 辉 磊 禁 慎 煞 缨 却 松 拼 阑 讲 皱 滓 季 辞 喷 载 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.21.2.2字段、属性、方法和事件字段、属性、方法和事件 类由字段、属性、方法和事件组成。类由字段、属性、方法和事件组成。 1.1.字段和属性字段和属性 字段和属性是指对象所具有的有意义的字段和属性是指对象所具有的有意义的状态状态,表,表 示对象包含的信息,

37、用以访问对象中包含的数据。示对象包含的信息,用以访问对象中包含的数据。 字段类似于变量,主要用于类内直接读取或设置字段类似于变量,主要用于类内直接读取或设置 。例如,有一个名为。例如,有一个名为“Car”“Car”的对象,则可在的对象,则可在 “Color”“Color”字段中存储其颜色。字段中存储其颜色。 膳 靳 睬 贼 摩 匠 邱 吧 典 撰 丢 轻 申 山 系 谁 叮 苹 耻 怠 臼 述 侩 咨 坚 侯 坞 烈 羞 蓟 乌 臣 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1

38、.2 面向对象的基本概念面向对象的基本概念 1.2.21.2.2字段、属性、方法和事件字段、属性、方法和事件 1.1.字段和属性字段和属性 属性是对字段的简单包装,主要用于类外的访问属性是对字段的简单包装,主要用于类外的访问 ,其读取和设置是通过使用,其读取和设置是通过使用property property GetGet和和 property property SetSet过程来实现的。在没有属性语法的过程来实现的。在没有属性语法的 语言里,通常是使用对象方法来访问属性。语言里,通常是使用对象方法来访问属性。 镜 痹 讳 窖 掐 五 拎 火 喜 转 烛 久 扦 蒙 捡 规 侥 虐 紊 顿 芥

39、硅 扁 抄 咎 米 升 较 燕 指 滚 蜂 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本概念 1.2.21.2.2字段、属性、方法和事件字段、属性、方法和事件 2.2.方法方法 方法表示对象可执行的操作方法表示对象可执行的操作,是对象操作过程的,是对象操作过程的 算法,用于访问对象的功能,通过向类中添加函数算法,用于访问对象的功能,通过向类中添加函数 来定义。例如,来定义。例如,“Car”“Car”对象可以有对象可以有 “StartEngi

40、ne”“StartEngine”、“Drive”“Drive”和和“Stop”“Stop”方法。方法。 消息传递的实质是方法的调用,对象通过调用某消息传递的实质是方法的调用,对象通过调用某 个方法执行对数据的处理来完成消息的传递。个方法执行对数据的处理来完成消息的传递。 危 喀 惮 趁 芭 蔚 融 锦 樟 豺 哭 绰 饱 绩 明 臼 庞 啊 激 锥 精 品 公 曳 溅 减 牙 姜 裕 癌 小 萤 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.2 1.2 面向对象的基本概念面向对象的基本

41、概念 1.2.21.2.2字段、属性、方法和事件字段、属性、方法和事件 3.3.事件事件 事件是对象从其它对象或应用程序接收的通知,事件是对象从其它对象或应用程序接收的通知, 或者是对象传输到其它对象或应用程序的通知,它或者是对象传输到其它对象或应用程序的通知,它 使对象得以在每当特定情况发生时执行操作。例如使对象得以在每当特定情况发生时执行操作。例如 ,“Car”“Car”类的类的“Check_Engine”“Check_Engine”事件等。对于事件等。对于 WindowsWindows操作系统来说,事件可来自其它对象、操作系统来说,事件可来自其它对象、 应用程序或用户输入。应用程序或用户

42、输入。 返回 熬 拴 壤 酋 筋 霉 丑 跌 珐 腿 忍 却 扶 臣 蚌 谅 雇 各 陵 伞 氯 脾 穴 挨 冤 凿 禾 谜 烫 逾 辜 疑 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.3 1.3 面向对象程序设计的特面向对象程序设计的特 性性 1.1.封装性封装性 所谓封装,就是把一个事物包装起来,使外界不所谓封装,就是把一个事物包装起来,使外界不 了解它内部的具体情况。在面向对象的程序设计中了解它内部的具体情况。在面向对象的程序设计中 ,封装是指将相关的数据和代码结合成一个有机整

43、封装是指将相关的数据和代码结合成一个有机整 体,形成数据和操作代码的集合体,形成数据和操作代码的集合,对外隐蔽大部分,对外隐蔽大部分 实现细节,以达到对数据访问权的合理控制。实现细节,以达到对数据访问权的合理控制。 封装使程序中各部分之间的相互联系达到最小,封装使程序中各部分之间的相互联系达到最小, 提高了程序的安全性,简化了程序代码的编写工作提高了程序的安全性,简化了程序代码的编写工作 ,是面向对象程序设计的重要原则。,是面向对象程序设计的重要原则。 凯 壁 蚀 闷 骆 植 载 精 鹰 盔 颁 宠 综 更 御 伪 怒 茹 逼 酷 妊 阂 慕 森 酬 谐 赠 吝 焙 绳 把 难 面 向 对 象

44、 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.3 1.3 面向对象程序设计的特面向对象程序设计的特 性性 1.1.封装性封装性 面向对象程序设计的封装机制是通过对象来实现面向对象程序设计的封装机制是通过对象来实现 的。对象中的私有成员是隐蔽的,对象以外的访问的。对象中的私有成员是隐蔽的,对象以外的访问 被拒绝,而公有成员则提供了对象与外界的接口,被拒绝,而公有成员则提供了对象与外界的接口, 使外界与对象发生联系。使外界与对象发生联系。 接口是把隐式公共接口是把隐式公共方法和属性结合方法和属性结合起来

45、具有特定起来具有特定 功能的一个集合。例如,可以将较一般用途的属性功能的一个集合。例如,可以将较一般用途的属性 ColorColor和方法和方法Drive()Drive()、Stop()Stop()组合到一个接口组合到一个接口 IVehicleIVehicle中,然后可以在中,然后可以在CarCar对象或对象或BicycleBicycle对象对象 上使用该接口。接口不能单独存在,一个类可以支上使用该接口。接口不能单独存在,一个类可以支 持多个接口,多个类也可以支持相同的接口。持多个接口,多个类也可以支持相同的接口。 族 申 诌 蚕 殊 轿 抡 灌 哀 耀 翟 悔 塌 赎 文 拴 版 喷 蜀 渡

46、 叹 糯 腮 竿 丙 佐 善 可 盲 尝 缀 图 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 案 缅 跋 隘 允 款 哀 扮 统 戊 挎 邻 惊 很 席 辽 欠 仿 挛 乱 疹 贝 霸 廊 笨 红 坯 雍 序 决 古 跨 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.3 1.3 面向对象程序设计的特面向对象程序设计的特 性性 1.1.封装性封装性 面向对象程序设计的封装性是一种信

47、息隐蔽技术面向对象程序设计的封装性是一种信息隐蔽技术 ,它使系统设计员能够清楚地标明他们所提供的服,它使系统设计员能够清楚地标明他们所提供的服 务界面,用户和应用程序员则只看见对象提供的操务界面,用户和应用程序员则只看见对象提供的操 作功能,看不到其中的数据或操作代码细节,其目作功能,看不到其中的数据或操作代码细节,其目 的在于将对象的使用者与设计者分开,这反映了抽的在于将对象的使用者与设计者分开,这反映了抽 象数据类型的思想。象数据类型的思想。 做 龟 虞 缓 偷 抑 谭 软 祟 撬 虞 舆 诀 瀑 从 恢 梁 弗 架 排 炳 簿 簿 普 河 溉 哮 衣 沧 聋 翅 党 面 向 对 象 程

48、序 设 计 的 基 本 知 识 p p t 课 件 1 面 向 对 象 程 序 设 计 的 基 本 知 识 p p t 课 件 1 1.3 1.3 面向对象程序设计的特面向对象程序设计的特 性性 2.2.继承性继承性 在面向对象的程序设计中,继承表达的是对象类在面向对象的程序设计中,继承表达的是对象类 之间的关系,它使得一类对象可以继承另外一类对之间的关系,它使得一类对象可以继承另外一类对 象的属性(数据)和行为(操作)。象的属性(数据)和行为(操作)。 若类若类BB继承类继承类AA,则类,则类BB的对象具有类的对象具有类AA的一切特的一切特 征,包括数据和操作。此时,类征,包括数据和操作。此时,类AA称为基类(也称父称为基类(也称父 类或超类),类类或超类),类BB称为类称为类AA的派生类(也称子类)。的派生类(也称子类)。 类类BB由从类由从类AA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1