Visual_C++js面向对象编程程教程王...

视频标签:
视频标签:
视频标签:
自定义视频标签:您所在位置: &
 &  & 
[面向对象编程教程第章原理与方法.ppt 55页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:80 &&
[面向对象编程教程第章原理与方法
你可能关注的文档:
??????????
??????????
一个优秀的编程工具往往匹配一个功能强大的类库,类库封装了大量Windows编程需要使用的函数和数据结构。与VisualC++捆绑在一起的MFC(MicrosoftFoundationClass)微软基础类就是这样一个由Microsoft公司设计的类库。采用MFC方式编程提高了Windows应用程序的开发效率,但由于MFC应用程序结构的复杂性和透明性,要想完全掌握MFC应用程序的内部机制需要付出很大的努力。认识MFC只是一个过程、一个手段,最终目的是为了良好并熟练地运用MFC。本章主要学习内容:Windows的编程机制MFC的基本原理和使用方法:MFC类MFC应用程序框架MFC消息管理MFC宏 常用的MFC类7.1Windows编程基础Windows是一个多进程的图形窗口操作系统,Windows应用程序与DOS应用程序有很大的区别。DOS应用程序采用顺序执行过程,而Windows是一个基于事件的消息(Message)驱动系统。Windows应用程序是按照“事件→消息→处理”非顺序的机制运行。当有某个事件(如单击鼠标、键盘输入和执行菜单命令等)发生时,Windows会根据具体的事件产生对应的消息,并发送到指定应用程序的消息队列;应用程序从消息队列中取出消息,并根据不同的消息进行不同的处理。7.1.1关于API和SDKWindowsAPI(ApplicationProgrammingInterface)是Windows操作系统与应用程序之间的标准接口,它提供了上千个标准函数、宏和数据结构的定义。在使用VisualC++、VisualBasic和Delphi编程时都可以调用WindowsAPI函数,Windows应用程序可通过调用标准WindowsAPI函数使用系统提供的功能。WindowsAPI函数定义在一些DLL动态链接库中,其中最主要的DLL是User32.dll、Gdi32.dll和Kernel32.dll三个库文件。传统SDK编程:程序员通过调用API函数,自己动手、按部就班地实现程序各部分的功能。SDK应用程序的结构比较清晰,但程序员必须编写所有的功能代码。利用VisualC++编写一个类SDK应用程序:首先利用Win32Application向导建立一个Windows应用程序框架,然后根据需要可以向程序项目中添加一些头文件、实现源文件和资源文件,并编写具体的程序代码。1.执行“File|New”菜单命令,在New对话框的Project页面中选择Win32Application项目类型,输入程序名Hello。在向导第1步选择“Atypital“Helloworld!”application”项,单击Finish按钮。2.在窗口函数WndProc()的消息处理分支switch-case结构中添加WM_LBUTTONDOWN鼠标单击消息及其处理代码:caseWM_LBUTTONDOWN: MessageBox(NULL,&Youpressedthe leftbuttonofmouse!&,&Message&,NULL); SDK应用程序结构:7.1.2句柄在Windows中,用句柄(Handle)标识应用程序中不同的对象和同类对象中不同的实例,如一个具体的窗口、按钮、输出设备、画笔和文件等。通过句柄可以获得相应的对象信息。常用的句柄类型有:HWND、HINSTANCE、HDC、HCURSOR、HICON、HMENU等。句柄常作为Windows消息和API函数的参数,在采用API方法编写Windows应用程序时要经常使用句柄。而采用MFC方法编写Windows应用程序时,由于对应的MFC类已对句柄进行了封装,大多数情况下不再需要访问句柄。7.1.3事件和消息消息队列和在应用程序中的轮询处理Windows消息分为三种类型:7.2MFC微软基础类7.2.1MFC概述采用MFC编程的优点:7.2.2MFC体系结构7.2.3学习MFC的方法7.3MFC应用程序框架7.3.1应用程序框架中的对象MFC应用程序对象之间的关系7.3.2MFC应用程序的生存与消亡MFC应用程序运行后各函数的调用关系7.3.3常用的MFC文件7.4MFC消息管理7.4.1MFC消息映射机制MFC应用程序MESSAGE_MAP消息映射形式:例利用ClassWizard为框架类添加消息WM_CLOSE、WM_DESTROY及菜单项“Edit|Copy”的消息处理函数,分析ClassWizard完成了哪些工作。ClassWizard在类的定义中声明了消息处理函数:7.4.2消息的发送7.4.3自定义消息处理自定义消息处理函数的声明:例编写一个自定义消息应用程序,程序启动后设置一个定时器,在WM_TIMER的消息处理函
正在加载中,请稍后...我是怎样教媳妇面向对象编程的 - 技术翻译 - 开源中国社区
我是怎样教媳妇面向对象编程的
【已翻译100%】
英文原文:
推荐于 4年前 (共 33 段, 翻译完成于 01-09)
参与翻译&(9人)&: ,
我老婆 Farhana 想要继续软件开发生涯(之前因为我们的第一个孩子出生,她不得不放弃)。我已经有了一些软件设计和开发的经验,所以这几天我就在试着帮助她学习OOD。
由于我早年在软件开发的经验,我总是发现无论一个技术问题看上去多么难搞,只要从现实生活的角度去解释或用对话的方式去讨论总能让它变得更简单。关于OOD,我们已经有了许多成果丰硕的讨论,我觉得有人可能发现这是一个学习OOD有趣的方式,所以我想我应该分享出来。
&翻译得不错哦!
下面是我们的谈话步骤:
话题:介绍面向对象设计
丈夫:亲爱的,让我们开始学习面向对象设计。你了解面向对象规范,对吗?
妻子:你是指封装,继承和多态吗?是的,我了解这些规范。
丈夫:行,我想你已经知道怎么用类和对象了。今天我们来学习面向对象设计。
妻子:等等。了解面向对象规范对面向对象编程来说难道不够吗?我的意思是,我能够定义类,封装属性和方法。我能够根据它们的关系定义类的继承。那还有什么呢?
丈夫:很好的问题。面向对象规范和面向对象编程完全是两码事。让我展示一个现实生活中的例子来帮助你理解它们。
&翻译得不错哦!
我们从牙牙学语起,都是先从字母表学起的,对吧?
妻子: 嗯。
丈夫: 好,然后你就能认单词了,还能通过不同的字母拼写出不同的单词来。慢慢的,你能通过一些基本的语法把这些单词串成一句话。为了使句子时态正确且没有语病,你需要用一些介词,连词,等等。。看下面这句话
"I" (代词) "want" (动词) "to" (介词) "learn" (动词) "OOD" (名词)
通过把几个单词摆放妥当一句话就好了,然后用个关键词来说明一下这句话的重点。
&翻译得不错哦!
妻子: 亲爱的,你闲扯这些到底要说明什么呢
丈夫: 我说的这个例子跟面向对象规范很类似,面向对象规范为面向对象编程定义了基本的规范,它是面向对象编程的主要思想。面向对象规范好比基本的英语语法,这些语法教会了你怎么用一个个单词拼凑出一句句话来,而面向对象规范教你怎么用类,怎么把一些属性和方法封装在一个类里,怎么串出类之间的继承关系。
妻子: 啊哈,我知道了,那么,面向对象适用于哪里呢。
丈夫: 听我慢慢道来。现在,假设你想写点有内容有题材的文章。你当然还希望写点你比较擅长的题材的书,就会简单造几个句子是远远不够的,对吧。你需要笔耕不辍写出一些长篇大论,你还需要学习怎么可以让读者很容易就看懂你写的这些长篇大论。。。
&翻译得不错哦!
妻子:嗯,有那么点意思。。。继续吧
丈夫:现在,假如你想写本关于面向对象设计的书,你需要把这个大的课题拆分成一些小题目。把这些小题目分几个章节写,还得写前言,简介,说明,举例,一篇里还有很多段落。你需要设计一整本书,还得练习一些写作技巧,让文章读起来浅显易懂。这就是综观全局。
在软件开发中,OOD就是用来解决从全局出发考虑问题,在设计软件的时候,类和代码可以模块化,可重复使用,可灵活应用,现在已经有很多前人总结出的类和对象的设计原理了,我们直接拿来用就行了,总之,历史的车轮已经碾压出一条清晰的车轮印,我们只要照着走就可以了。
妻子: 哎,懂了点皮毛,还有很多要学呢。
丈夫:不用担心,你很快就会上手的,让我们接着来吧。
&翻译得不错哦!
话题:为什么要进行面向对象设计?
作者:有个很重要的问题,既然我们能够很快的创建几个类,编写程序并提交,为什么我们还要关注面向对象设计?这样不够么?
妻子:恩,以前我不知道面向对象设计,我也能开发提交项目。有什么关系?
丈夫:好吧,先让我给你看一个经典的引述:
"需求不变的程序开发会同行走在冰上一样简单。"
妻子:你是指软件开发说明书会被不断修改?
丈夫:非常正确!软件开发唯一的真理是“软件必然修改”。为什么?
&翻译得不错哦!
要知道,你的软件解决的是现实世界中的问题,而现实生活不是一成不变的。
可能你的软件现在运行良好。但它能灵活的支持“变化”吗?如果不能,那它就不是一个敏捷设计的软件。
妻子:好,那你就解释一下什么叫做“敏捷设计的软件”!
丈夫:“一个敏捷设计的软件能轻松应对变化,能被扩展和复用。”
而应用“面向对象设计”是做到敏捷设计的关键。那么,什么时候你可以说你的程序应用了面向对象设计?
&翻译得不错哦!
妻子:我也正想问呢。
丈夫:如果代码符合以下几点,那么你就在“面向对象设计”:
变化的代价极小
无需改代码即可扩展
妻子:然后呢?
丈夫:不只我们。很多人也花了很多时间和精力思考这个问题上,他们尝试更好的进行“面向对象设计”,并为“面向对象设计”指出几条基本的原则(你可以用在你的“面向对象设计”中)。他们也确实总结出了一些通用的设计模式(基于基本的原则)。
&翻译得不错哦!
妻子:你能说出一些吗?
丈夫:没问题。现在有许多设计原则,但是最基本的,就是SOLID(缩写),这五项原则。(感谢鲍勃叔叔,伟大OOD导师)。&
S& = 单一责任原则 O = 开闭原则 L& = Liscov替换原则 I& = 接口隔离原则 D = 依赖倒置原则
在下面的讨论中,我们将详细了解这些。
&翻译得不错哦!
话题:单一功能原则
作者:让我们先来看图,我们应该感谢制作这张图的人,因为它们真的太有趣了。
单一功能原则图
它的意思是:“如果你可以在一个设备中实现所有的功能,你却不能这样做”。为什么呢?因为从长远来看它增加了很多的可管理性问题。
&翻译得不错哦!
我们的翻译工作遵照 ,如果我们的工作有侵犯到您的权益,请及时联系我们
哈哈,是的,也有助有学习噢。。
要是不用学这些,就更不错啦,哈:)
要是不用学这些,就更不错啦,哈:)哈哈,我们去面向对象求个baoyang属性吧,或者找个父亲求继承吧
要是不用学这些,就更不错啦,哈:)哈哈,我们去面向对象求个baoyang属性吧,或者找个父亲求继承吧父类多半抽象,实现还靠自己啊

参考资料

 

随机推荐