教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 小学教育 >

第1章 面向对象程序设计基本概念

来源:网络收集 时间:2026-09-10
导读: 面向对象的C++语言学习课件 东华大学计算机科学与技术学院 第1章 面向对象程序设计基本概念 为什么要提出面向对象程序设计 面向对象语言和方法 类、对象和消息 面向对象程序设计特点 面向对象程序的结构 面向对象的C++语言学习课件 东华大学计算机科学与技术

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

第1章 面向对象程序设计基本概念 为什么要提出面向对象程序设计 面向对象语言和方法 类、对象和消息 面向对象程序设计特点 面向对象程序的结构

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.1为什么要提出面向对象程序设计(1/6) 如何在程序中表示日期?(如2012年3月 15日) 第一个方案,一个简单的结构 struct Date { int y; //year int m; //month in year int d; //day of month }; 可以利用Date做什么事呢?

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.1为什么要提出面向对象程序设计(2/6)

运行1_1.cpp,依次输入下面数据: 2012 3 15 2012 15 3 -3 13 32 2000 2 29 问题:日期的合法性无法保证

第2个方案,在第1个基础上设计一些辅 助函数,完成一些最常见的操作 1_2.cpp init_day(),初始化,将合理日期值赋给数据 成员 add_day(),增加日期的值

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.1为什么要提出面向对象程序设计(3/6)问题:如果定义了Date型变量today,忘了初始 化就使用了它;如果又定义了 Date型变量 tomorrow,没有调用add_day(),而是 直接写了下面代码 tomorrow.y=today.y; tomorrow.m=today.m; tomorrow.d=today.d+1;

我们需要不会被程序员忘记的初始化函 数,需要被忽视的可能性很低的操作。 实现这些目标的基本技术就是成员函数, 即将函数声明于结构体

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.1为什么要提出面向对象程序设计(4/6)struct Date { int y; //year int m; //month in year int d; //day of month Date(int y, int m, int d); //check for valid date and initialize void add_day(int n); //increase the Date by n days };

如何解决有人忘记使用add_day(),直接修 改y、m、d呢?那就是保持细节私有性,引入 类

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.1为什么要提出面向对象程序设计(5/6)class Date{ public: Date(int y, int m, int d); void add_day(int n); int year(){return y;} int month(){return m;} int day(){return d;} private: int y, m, d; //year, month, day };

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.1为什么要提出面向对象程序设计(6/6)

C++中,class与struct的区别class中,成员默认的访问属性为private struct中,成员默认的访问属性为public

软件维护 图形用户界面 如何更加直接地描述客观世界中存在的事 物以及它们之间的相互关系

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.2 面向对象语言和方法(1/7)

六十年代末期——Simula 67(面向对 象语言的鼻祖)包含了类和继承的概念 类——描述特性相同或相近的一组对象的 结构和行为 继承——将多个类组织成层次结构,实现 数据和操作的共享

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.2 面向对象语言和方法(2/7)

七十年代末八十年代初——Smalltalk (第一个真正的集成开发环境)包含类和继承,更严格的信息隐藏 带有一个巨大的、标准类库 第一个使用MVC(Model-ViewController)模式开发交互式应用软件

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.2 面向对象语言和方法(4/7)

Smalltalk使面向对

象方法为人们注目 面向对象语言被分为两大阵营 纯粹的面向对象语言:Smalltalk、Eiffel、 Java 混合型面向对象语言:C++和CLOS

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.2 面向对象语言和方法(5/7)

结构化程序设计软件的结构化分析、设计方法 工程化的概念的方法 但无法很好地支持越来越复杂、庞大的系统需求

面向对象方法直接将问题的求解映射到问题本身上 有目的地将系统分解为模块 将问题分解为一系列的实体(对象) 方便设计,可维护性、可扩充性好

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.2 面向对象语言和方法(6/7)

简单的例子——图书馆管理系统包含reader(读者)对象、librarian(图书管 理员)对象、bookshelf(书架)对象等 所有的操作由各对象协作完成 借书 reader对象向librarian对象提出借书请求 librarian对象向bookshelf对象提出查书和 取书请求 然后逐步响应,逐步返回,共同完成借书操 作

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.2 面向对象语言和方法(7/7)

面向对象方法的一些特性程序设计的重点在数据而不是函数 程序由对象组成 对象之间通过相互协作来完成功能 大多数对象的定义以数据为中心 函数与相关的数据紧密结合 数据可以被隐藏 很容易扩充新的数据和函数

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.3 类、对象和消息(1/10)

面向对象程序设计的一般步骤分析实际问题,分辨并抽取其中的类和对 象 设计相应的类,并根据这些类创建各种对 象 协调这些对象完成程序功能

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.3 类、对象和消息(2/10)

万物皆对象每个学生、每个班级、每个学校、每个国 家、每棵树、每本书、每部汽车——具体的 实体 “张三”、“李四”都是对象,但“人” 不是 “人”不是具体的实体,是类,是抽象概 念

类是某些对象共同特征的表示类是创建对象的模板,对象是类的实例

面向对象的C++语言学习课件 东华大学计算机科学与技术学院

1.3 类、对象和消息(3/10)

如何区分类和对象——以“人”和“张三”为 例“人”描述了所有人(包括“张三” )都具有的 属性和行为,如有姓名、身高、体重,有鼻子、 眼睛、四肢,能交流、能思维等等 类(“人”)描述的概念是抽象的 “人”的姓名是什么? “人”的身高是什么? 对象(“张三”)是具体的 “张三”的姓名是“张三” “张三”的身高是185CM

…… 此处隐藏:1383字,全部文档内容请下载后查看。喜欢就下载吧 ……
第1章 面向对象程序设计基本概念.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1543668.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)