欢迎来到天天文库
浏览记录
ID:50030264
大小:969.00 KB
页数:28页
时间:2020-03-07
《Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第3章-Windows应用程序的面向对象.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Windows程序设计教程第3章Windows应用程序的面向对象在早期的编程生涯中,程序员采用C语言和WindowsAPI函数进行Windows程序设计。但采用这种方式进行程序开发,使得开发过程艰苦、乏味。随着编程技术的不断发展,Windows编程采用了面向对象的程序设计思想(ObjectOrientedProgramming,OOP)。这种思想集抽象性、封装性、集成性和多态性于一体,提高了编程的效率。下面对Windows应用程序中的面向对象思想进行介绍。应用程序主函数中类的封装3.1派生类3.23.1应用程序主函数中类的封
2、装在2.3节中,通过对Windows应用程序结构进行分析可以得知,主函数的任务是创建并显示窗口和实现消息循环。从面向对象的思想进行分析,为了形成程序框架,应该声明两个类:应用程序类和窗口类。3.1.1窗口类的声明在窗口类中,应该实现窗口类的设计、窗口类的注册、窗口的创建和显示等功能。上述功能是窗口类的成员函数,为了辅助这些成员函数,还应该有一个数据成员——HWND类型的窗口句柄。3.1.2应用程序类的声明如果把主函数中的整个函数体作为一个对象,并把它叫做应用程序,则还应该声明一个应用程序类,并命名为CWinApp。在CWin
3、App类中,主要完成两个功能:一是调用成员函数InitInstance()来完成窗口的设计、注册、创建与显示工作,二是调用成员函数Run()来实现消息循环。3.1.3主函数封装后的程序对窗口类和应用程序类进行封装后,再来设计Windows应用程序就显得十分简单了。图3.1程序sample0301的运行结果3.2派生类在3.2节中,将窗口类CFrameWnd和应用程序类CWinApp封装在一个类库中,使用起来灵活了许多。但如果需要对应用程序进行个性化设计,就不是那么容易了。例如,需要改变窗口的背景颜色,此时就需要修改系统提供的
4、窗口函数。为了解决这个问题,可以引用C++类的继承性和多态性。程序员可以通过设计派生类来得到自己想要的应用程序窗口。下面对派生类进行详细介绍。3.2.1应用程序类的派生类应用程序对各个类进行了封装,为了方便程序的设计,需要对其进行派生操作。为了让派生类能更好地修改原有的属性,在基类中要将一些成员函数设置为虚函数。这样,在派生类中,可以重写虚函数满足特别的要求。图3.2程序sample0302的运行结果3.2.2窗口类的派生类与应用程序类类似,窗口类也可以拥有自己的派生类。读者可以参照创建应用程序类的派生类的方法为窗口类创建派
5、生类,本书在此就不再详细讲解。在创建窗口类的派生类时,有一个问题需要注意。由于在应用程序类CWinApp中定义的窗体对象m_pMainWnd是CFrameWnd类型的,而现在需要使用CFrameWnd类的派生类来构造此窗体对象。也就是说,在CWinApp类的Instance()函数中,先构造一个CFrameWnd类的派生类的对象,然后将它赋值给m_pMainWnd。图3.3程序sample0303的运行结果小 结本章主要介绍了Windows应用程序的面向对象思想。面向对象思想集抽象性、封装性、集成性和多态性于一体,提高了编
6、程的效率。本章内容包括窗口类的声明、应用程序类的声明、主函数封装后的程序、应用程序类的派生类和窗口类的派生类。这些内容有些抽象,不易理解,所以请读者重点掌握。第4章将要学习MFC应用程序框架。上机指导实验一:声明窗口类实例实验内容声明一个窗口类,并定义相关的成员函数。实验目的掌握窗口类的实现过程。在窗口类中,应该实现窗口类的设计、窗口类的注册、窗口的创建和显示等功能。实现思路在3.1.1节中介绍了如何声明一个窗口类,参照该节内容即可。实验二:声明应用程序类的派生类实验内容声明一个应用程序类的派生类,并定义相关的成员函数。实验
7、目的掌握应用程序类的实现过程。实现思路在3.2.1节中介绍了如何声明一个应用程序类的派生类,参照该节内容即可。实验三:创建一个完整程序实验内容创建一个应用了窗体和应用程序派生类的完整实例。实验目的巩固第2章和第3章的内容。实现思路参照第2章和第3章所学的知识点,创建一个应用实例。
此文档下载收益归作者所有