- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
清华大学精品课程《面向对象编程C#编程》
面向对象编程 清华大学精品课程 基本情况 理论学时22+实验学时10,共32学时 要求:理解并掌握面向对象程序设计思想,熟悉Visual Studio 2008 环境,并能够运用c#语言进行简单的面向对象编程。 面向对象程序设计概述 学习目的 ① 深入理解面向对象方法学的基本观点; ② 掌握面向对象的重要基本概念; ③ 能够进行简单面向对象分析和设计。 就本例而言,.NET Framework本身就提供了两个类DateTime和TimeSpan可完成同样的功能。 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 例如五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用分别的函数来实现,问题就解决了。 而面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为 1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的i变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。 可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了总多步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。 功能上的统一保证了面向对象设计的可扩展性。比如我要加入悔棋的功能,如果要改动面向过程的设计,那么从输入到判断到显示这一连串的步骤都要改动,甚至步骤之间的循序都要进行大规模调整。如果是面向对象的话,只用改动棋盘对象就行了,棋盘系统保存了黑白双方的棋谱,简单回溯就可以了,而显示和规则判断则不用顾及,同时整个对对象功能的调用顺序都没有变化,改动只是局部的。 1、面向对象方法学 面向对象方法学是面向对象程序开发技术的理论基础。 基于该理论基础,人类创造出与人类思维方式和手段相对应的面向对象程序设计语言,使得程序开发过程与人类的认知过程相同步,通过对人类认识客观世界及事物发展过程的抽象,建立了规范化的分析与设计方法,由此带来软件模块化特色突出、可读性好、易维护性强等一系列优点。 2、面向对象方法学基本观点 客观世界(事物)由各种实体组成,这些实体称为对象。 每个对象都有各自的内部状态和运动规律,在其他对象或环境影响下,对象本身根据发生的具体事件做出不同反映。 按照对象的属性和运动规律的相似性,可以将相近的对象划分为一类。 复杂的对象由相对简单的对象通过一定的方式组成。 不同对象的组合及其间的相互作用和联系构成了各种不同的系统,构成了我们所面对的客观世界。 3、面向对象软件开发 基本概念: (1)对象 对象的含义是什么? 在不同场合具有不同的含义。 面向对象方法学认为,对象是一个相对独立的实体,具有各自的运动规律和内部状态,在外界其它对象或环境的影响下对象状态发生变化或对外界做出影响。这里强调对象是个实体可以理解为对象是一个由其全部行为(服务)和属性封装在一起形成的相对独立的整体,这种形式称为封装。 基本概念: (2)类 为了描述属性和行为相同的一类对象,引入了类(class)的概念。 类是具有相同数据结构(属性)和相同操作功能(行为)的对象的集合,它规定了这些对象的公共属性和行为方法。 对象是类的一个实例,例如,汽车是一个类,而行驶在公路上的一辆汽车则是一个对象。 对象和类的关系相当于程序设计语言中变量和变量类型的关系。 面向对象程序设计方法的基本特征 抽象 封装 继承 多态性 (1)抽象 抽象是人类认识问题的最基本手段之一。抽象是指对具体问题(对象)进行概括,抽出一类对象的公共属性和行为并加以描述的过程。抽象包括数据抽象和代码抽象(或行为抽象)。 (2)封装 封装是把每个对象的数据(属性)和操作(行为)包装在一个类中。一旦定义了对象的属性和行为,则必须决定哪些属性和行为只用于表示内部状态,哪些属性和行为在外部是可见的。 一般限制直接访问对象的属性,而应通过操作接口访问,这样使程序中模块之间关系更简单、数据更安全。对程序的修改也仅限于类的内部,使得由于修改程序所带来的影响局部化。 (3)继承 继承是指一个新类可以从现有的类派生而来。
您可能关注的文档
最近下载
- (2025年)电大《中国古代文化常识》形考任务及考题库答案.docx VIP
- 【笔记版】中华民族共同体概论.doc VIP
- 2026-2030中国铁路货车行业深度调研及投资前景研究报告.docx
- 《中华人民共和国劳动法》测试试题及答案.docx VIP
- 团队台球活动策划方案模板.docx VIP
- 《中华人民共和国劳动法》测试题库(含答案).docx VIP
- 基于LQR的一阶倒立摆最优控制系统研究.docx VIP
- 乡村振兴背景下农村集体经济组织会计制度变迁与优化研究.docx VIP
- 2025内蒙古鄂尔多斯乌审旗国有资本投资集团有限公司招聘工作人员24人笔试备考试题及答案解析.docx VIP
- 广西河池市宜州区2025-2026学年九年级上学期期中测试语文试题.pdf VIP
原创力文档


文档评论(0)