程序设计实践.ppt
《程序设计实践.ppt》由会员分享,可在线阅读,更多相关《程序设计实践.ppt(42页珍藏版)》请在优知文库上搜索。
1、程序设计实践程序设计实践第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计MFC程序设计知识小结程序设计知识小结nWindows程序设计基础程序设计基础nMFC程序框架中的主要类程序框架中的主要类CObject类:类:MFCMFC中大多数类的抽象基类,它提供序列化、中大多数类的抽象基类,它提供序列化、运行时信息,诊断和调试支持等。运行时信息,诊断和调试支持等。CWinappCWinapp类:类:代表应用程序的核心。代表应用程序的核心。CDocumentCDocument类:类:文档类,用于组织用户数据。文档类,用于组织用户数据。CWndCWnd类类: 图形用户界面对象的基类。图
2、形用户界面对象的基类。CMainFrameCMainFrame类:类:应用程序主窗口类。应用程序主窗口类。CChildFrameCChildFrame类:类: 应用程序子窗口类。应用程序子窗口类。CViewCView类:类:视图类,用于显示和操作文档中的数据。视图类,用于显示和操作文档中的数据。CTemplateDocCTemplateDoc类:文档模版基类。类:文档模版基类。CMultiTemplateDocCMultiTemplateDoc和和CSingleTemplateDocCSingleTemplateDoc类。类。nMFC程序运行机制程序运行机制 MFC程序的初始化过程程序的初始化
3、过程动态类型识别动态类型识别 RTTI (Runtime Type Identification)动态生成动态生成 (Dynamic Creation)永久保存永久保存 (Persistence)信息映射信息映射 (Message Mapping)命令传递命令传递 (Command Routing)第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计定义全局变量定义全局变量theApp 重载成员函数重载成员函数InitialInstance()重载重载CObject类成员函数类成员函数BOOL IsKindOf(CRunTimeClass *)重载重载CObject类成员函数类成
4、员函数CObject * CreateObject(void)实现成员函数实现成员函数void Serialize (CArchive & ar)使用消息映射表替代窗口函数,使用消息映射表替代窗口函数,降低程序设计的难度。降低程序设计的难度。WM_COMMAND消息传递机制消息传递机制MFC应用程序常用的宏应用程序常用的宏第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计消息映射消息映射DECLARE_MESSAGE_MAP BEGIN_MESSAGE_MAP ON 消息名消息名(参数(参数)END_MESSAGE_MAP动态生成动态生成DECLARE_DYNCREATE IM
5、PLEMENT_DYNCREATE 动态类型识别动态类型识别DECLARE_DYNAMIC IMPLEMENT_DYNAMIC序列化序列化DECLARE_SERIAL IMPLEMENT_SERIAL支持支持 RUNTIMECLASS 机制机制重载重载IsKindOf() 方法方法支持动态类型识别支持动态类型识别重载重载CreateObject () 方法方法支持动态类型识别支持动态类型识别 支持动态生成支持动态生成 重载重载Serialize () 方法方法支持支持信息映射信息映射 支持动态生成支持动态生成 支持支持Serialize () 方法方法nMFC应用程序类型应用程序类型(1) (
6、1) 基于对话框的应用程序基于对话框的应用程序 (2) SDI(2) SDI应用程序应用程序 (3) MDI(3) MDI应用程序应用程序(4) (4) 非文档视图结构程序非文档视图结构程序第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计对话框界面设计、成员变对话框界面设计、成员变量、消息映射。量、消息映射。文档文档/视结构、用户界面视结构、用户界面资源、文本和图形输出、资源、文本和图形输出、序列化文档保存。序列化文档保存。文档文档/视结构、多文档、多视结构、多文档、多视图等视图等对话框的应用程序对话框的应用程序 或或以以SDISDI和和MDIMDI为基础,不使为基础,不使用
7、文档用文档/ /视结构。视结构。第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计 使用面向对象技术设计并实现一个题目为使用面向对象技术设计并实现一个题目为汽车客运汽车客运公司售票系统公司售票系统小型管理信息系统案例。小型管理信息系统案例。本章内容提要: n需求分析需求分析n系统功能结构设计系统功能结构设计n系统中各系统中各MFCMFC类的设计和实现类的设计和实现n主要算法主要算法n界面设计界面设计n案例分析案例分析4.1 4.1 项目需求项目需求项目名称项目名称:汽车客运公司售票系统汽车客运公司售票系统业务需求业务需求: 某客运公司每日向某客运公司每日向10个城市发一个直达班
8、车个城市发一个直达班车(中途不停车中途不停车)。每天都发售今明后。每天都发售今明后3天的客票。天的客票。n功能需求:功能需求:1 数据存储需求数据存储需求 该系统需要磁盘上存储以下信息:该系统需要磁盘上存储以下信息:(1)今、明、后今、明、后3天每个班次的基本信息,天每个班次的基本信息,包括:每个班次的班次号、发车时间、终点城市,票价包括:每个班次的班次号、发车时间、终点城市,票价和座位数量;和座位数量;(2)已发售每个班次的旅客登记表,包括:已发售每个班次的旅客登记表,包括:身份证号、姓名、座号。身份证号、姓名、座号。2 主要功能主要功能l创建存储一天的每个班次的基本信息的存储系统。创建存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实践