OO对象关联(12-2)课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OO对象关联(12-2)课件

第二讲 对象之间的关系;2.1 整体部分关系;实体型对象的组织;管理型对象的组织;加工型对象的组织;事务型对象;复杂情况;整体对象和部分对象的类设计;2.2 一般特殊关系;继承性;C++ 语言对继承的支持;例 2-1: 可移动窗口;问题分析;窗口性质的分析;对象设计;矩形类和窗口类;方法的实现;窗口 = 矩形框+标题栏+鼠标可选;窗口的构造函数;鼠标选中和释放;窗口随鼠标的变化;窗口使用例(模拟);事务型对象设计小结;继承关系的使用;多级继承关系;开放封闭原则(OCP);MFC的通用类 afxcoll.h 直接用做容器;讨论题(2-1);讨论内容;2.3 对象关联;对象关联 association;对象关联的实现方法;例 2-2:数据库查询结果集的设计;问题的分析;类接口设计;使用方法(成绩记录);软件结构设计 (内部);数据结构的设计;ResultSet::ResultSet( int n, char *nams[ ] ) { for ( int i=0; in; i++ ) nam2idx.SetAt( CString(nams[ i ]), new int( i ) ); } // 建立字段名和索引的关系 ResultSet::~ResultSet( ) { POSITION ps = nam2idx.GetStartPosition( ); while( ps ) { CString s; void *p; nam2idx.GetNextAssoc(ps, s, p); delete p; } // 释放索引专用的空间 };Record *ResultSet:: createRecord( ) { // 新建一记录 Record *rd = new Record( nam2idx ); records.add( rd ); return rd; } Record *ResultSet:: getFirstRecord( ) { // 取第一记录 idx = 0; return getNext( ); } Record *ResultSet:: getNext( ) { // 取下一记录 if ( idx = records.GetCount( ) ) return NULL; return (Record *) records[ idx++ ]; } ;char *Record:: getField( int i ) { return (char *)fields[ i ]; } void Record:: setField( int i, char *ob ) { fields.SetAt( i, ob ); } char *Record:: getField( char *n ) { int *i; if( nam2idx-Lookup( CString(n), (void *)i ) ) return (char *) fields[ *i ]; return NULL; } void Record:: setField( char *n, char *ob ) { int *i; if( nam2idx-Lookup( CString(n), (void *)i ) ) fields.SetAt( *i, ob ); };设计小结;单一职责原则(SRP);讨论题(2-2);完成要求;2.3 抽象类与接口;C++描述案例;interface INode { // 接口定义 void Print( ); } class IntNode implements INode { void Print( ) { … } } // 支持接口的类 继承性: 单继承(extends) 多实现(implements) ;接口的用途;例2-3:查询结果的接口;例2-4 行打印机的功能设计;行打印机的接口类;本讲小结

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档