欢迎来到第壹文秘! | 帮助中心 分享价值,成长自我!
第壹文秘
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 第壹文秘 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    程序设计实践.ppt

    • 资源ID:182930       资源大小:943KB        全文页数:42页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    程序设计实践.ppt

    程序设计实践程序设计实践第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计MFC程序设计知识小结程序设计知识小结nWindows程序设计基础程序设计基础nMFC程序框架中的主要类程序框架中的主要类CObject类:类:MFCMFC中大多数类的抽象基类,它提供序列化、中大多数类的抽象基类,它提供序列化、运行时信息,诊断和调试支持等。运行时信息,诊断和调试支持等。CWinappCWinapp类:类:代表应用程序的核心。代表应用程序的核心。CDocumentCDocument类:类:文档类,用于组织用户数据。文档类,用于组织用户数据。CWndCWnd类类: 图形用户界面对象的基类。图形用户界面对象的基类。CMainFrameCMainFrame类:类:应用程序主窗口类。应用程序主窗口类。CChildFrameCChildFrame类:类: 应用程序子窗口类。应用程序子窗口类。CViewCView类:类:视图类,用于显示和操作文档中的数据。视图类,用于显示和操作文档中的数据。CTemplateDocCTemplateDoc类:文档模版基类。类:文档模版基类。CMultiTemplateDocCMultiTemplateDoc和和CSingleTemplateDocCSingleTemplateDoc类。类。nMFC程序运行机制程序运行机制 MFC程序的初始化过程程序的初始化过程动态类型识别动态类型识别 RTTI (Runtime Type Identification)动态生成动态生成 (Dynamic Creation)永久保存永久保存 (Persistence)信息映射信息映射 (Message Mapping)命令传递命令传递 (Command Routing)第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计定义全局变量定义全局变量theApp 重载成员函数重载成员函数InitialInstance()重载重载CObject类成员函数类成员函数BOOL IsKindOf(CRunTimeClass *)重载重载CObject类成员函数类成员函数CObject * CreateObject(void)实现成员函数实现成员函数void Serialize (CArchive & ar)使用消息映射表替代窗口函数,使用消息映射表替代窗口函数,降低程序设计的难度。降低程序设计的难度。WM_COMMAND消息传递机制消息传递机制MFC应用程序常用的宏应用程序常用的宏第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计消息映射消息映射DECLARE_MESSAGE_MAP BEGIN_MESSAGE_MAP ON 消息名消息名(参数(参数)END_MESSAGE_MAP动态生成动态生成DECLARE_DYNCREATE IMPLEMENT_DYNCREATE 动态类型识别动态类型识别DECLARE_DYNAMIC IMPLEMENT_DYNAMIC序列化序列化DECLARE_SERIAL IMPLEMENT_SERIAL支持支持 RUNTIMECLASS 机制机制重载重载IsKindOf() 方法方法支持动态类型识别支持动态类型识别重载重载CreateObject () 方法方法支持动态类型识别支持动态类型识别 支持动态生成支持动态生成 重载重载Serialize () 方法方法支持支持信息映射信息映射 支持动态生成支持动态生成 支持支持Serialize () 方法方法nMFC应用程序类型应用程序类型(1) (1) 基于对话框的应用程序基于对话框的应用程序 (2) SDI(2) SDI应用程序应用程序 (3) MDI(3) MDI应用程序应用程序(4) (4) 非文档视图结构程序非文档视图结构程序第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计对话框界面设计、成员变对话框界面设计、成员变量、消息映射。量、消息映射。文档文档/视结构、用户界面视结构、用户界面资源、文本和图形输出、资源、文本和图形输出、序列化文档保存。序列化文档保存。文档文档/视结构、多文档、多视结构、多文档、多视图等视图等对话框的应用程序对话框的应用程序 或或以以SDISDI和和MDIMDI为基础,不使为基础,不使用文档用文档/ /视结构。视结构。第四章第四章 面向对象实用系统分析与设计面向对象实用系统分析与设计 使用面向对象技术设计并实现一个题目为使用面向对象技术设计并实现一个题目为汽车客运汽车客运公司售票系统公司售票系统小型管理信息系统案例。小型管理信息系统案例。本章内容提要: n需求分析需求分析n系统功能结构设计系统功能结构设计n系统中各系统中各MFCMFC类的设计和实现类的设计和实现n主要算法主要算法n界面设计界面设计n案例分析案例分析4.1 4.1 项目需求项目需求项目名称项目名称:汽车客运公司售票系统汽车客运公司售票系统业务需求业务需求: 某客运公司每日向某客运公司每日向10个城市发一个直达班车个城市发一个直达班车(中途不停车中途不停车)。每天都发售今明后。每天都发售今明后3天的客票。天的客票。n功能需求:功能需求:1 数据存储需求数据存储需求 该系统需要磁盘上存储以下信息:该系统需要磁盘上存储以下信息:(1)今、明、后今、明、后3天每个班次的基本信息,天每个班次的基本信息,包括:每个班次的班次号、发车时间、终点城市,票价包括:每个班次的班次号、发车时间、终点城市,票价和座位数量;和座位数量;(2)已发售每个班次的旅客登记表,包括:已发售每个班次的旅客登记表,包括:身份证号、姓名、座号。身份证号、姓名、座号。2 主要功能主要功能l创建存储一天的每个班次的基本信息的存储系统。创建存储一天的每个班次的基本信息的存储系统。l创建每个班次的旅客登记表。创建每个班次的旅客登记表。l办理售票(座号不能重复)办理售票(座号不能重复)l办理退票(删除旅客信息)办理退票(删除旅客信息)l查询指定班次的剩余票数和座位号查询指定班次的剩余票数和座位号l输出指定班次的旅客登记表输出指定班次的旅客登记表4.1 4.1 项目需求项目需求4.2 4.2 详细设计方案详细设计方案1 系统总体设计方案:使用系统总体设计方案:使用MFC中中SDI程序框架。程序框架。MFC SDI程序框架框架类的派生类4.2.1 实体类设计实体类设计1 班次类设计班次类设计;class CBusInfo : public CObject DECLARE_SERIAL(CBusInfo);private: CString m_strBusID; CTime m_StartTime; /班次号、发车时间班次号、发车时间 CString m_Destination; /终点城市、终点城市、 int m_nSeat; m_nSeatSaled; /座位数量、已售数量座位数量、已售数量 float m_fPrice; /票价票价public: CBusInfo(); CBusInfo(CString strBusID, CTime StartTime,CString Destination, int nSeat, int nSeatSaled, float fPrice); CBusInfo(CBusInfo & obj); virtual CBusInfo(); void Serialize(CArchive& ar);4.2 4.2 详细设计方案详细设计方案班次类数据成员班次类数据成员序列化定义宏序列化定义宏CObject类类默认构造函数默认构造函数构造、析构函数构造、析构函数序列化函数序列化函数2 2 班次类的实现班次类的实现IMPLEMENT_SERIAL(CBusInfo,CObject,1); CBusInfo:CBusInfo() /默认构造函数默认构造函数 CBusInfo:CBusInfo(CString strBusID,CTime StartTime,CString Destination,int nSeat,int nSeatSaled,float fPrice) /构造函数,用于创建对象。构造函数,用于创建对象。m_strBusID = strBusID;m_StartTime = StartTime;m_Destination = Destination;m_nSeat = nSeat;m_nSeatSaled = nSeatSaled; m_fPrice = fPrice;序列化实现宏序列化实现宏2 2 班次类的实现班次类的实现void CBusInfo:Serialize(CArchive& ar) CObject:Serialize( ar); if (ar.IsStoring() arm_strBusIDm_StartTimem_Destination m_nSeat m_nSeatSaledm_strBusIDm_StartTimem_Destinationm_nSeat m_nSeatSaledm_fPrice; 序列化函数序列化函数序列化基类序列化基类CObject类类保存数据保存数据读入数据读入数据class CTraveler : public CObject DECLARE_SERIAL(CTraveler);public:CTraveler();CTraveler( CString strBusID,CString TravelID,CString strName, CTime dDateTime, int nSeat);CTraveler(CTraveler & obj);virtual CTraveler();virtual void Serialize(CArchive& ar);public: CString m_strBusID;/班次号班次号 CString m_TravelID;/身份证号身份证号 CString m_Name;/姓名姓名 CTime m_DateTime;/购票日期购票日期 int m_nSeat;/座位号座位号 CBusInfo *m_pBusInfo;/班次指针班次指针;3 3 旅客类设计旅客类设计 班次对象地址,用于班次对象地址,用于表示旅客与车次之间的表示旅客与车次之间的关系(车票)。关系(车票)。IMPLEMENT_SERIAL(CTraveler,CObject,1);CTraveler:CTraveler()CTraveler:CTraveler( CString strBusID,CString TravelID,CString Name,CTime DateTime,int nSeat,CBusInfo* pBusInf) m_strBusID=strBusID;/班次号班次号 m_TravelID=TravelID;/身份证号身份证号 m_Name =Name ; /姓名姓名 m_DateTime=DateTime; /购票日期购票日期 m_nSeat =nSeat ;/座位号座位号 m_pBusInfo =pBusInfo;4 4 旅客类的实现旅客类的实现 void CTraveler:Serialize(CArchive& ar)CObject:Serialize( ar);if (ar.IsStoring() arm_strBusIDm_TravelIDm_DateTime m_Namem_strBusIDm_TravelIDm_DateTime m_Namem_nSeat;4 4 旅客类的实现旅客类的实现 限制(限制(ConstrainConstrain):):CTravelerCTraveler类中数据成员类中数据成员CBusInfo CBusInfo * *m_pBusInfom_pBusInfo是是一个指向一个指向CBusInfoCBusInfo类型对象的内存地址,将其数值类型对象的内存地址,将其数值写入磁盘文件是毫无意义的。这

    注意事项

    本文(程序设计实践.ppt)为本站会员(p**)主动上传,第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第壹文秘(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 1wenmi网站版权所有

    经营许可证编号:宁ICP备2022001189号-1

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!

    收起
    展开