- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 行打印机的功能设计;行打印机的接口类;本讲小结
您可能关注的文档
最近下载
- (2024秋新版)人教版七年级数学上册全册PPT课件.pptx
- dixell帝思 xc15cx-xc35cx 调试维修参数设置资料.pdf
- transcad交通需求模型手册_chapter12公交分配.pdf VIP
- 高校后勤餐饮经营发展探究——以浙江树人大学为例.pdf VIP
- 幼儿园教室环创培训.pptx VIP
- 2023辽宁沈阳市铁西区面向全区招聘社区残疾人工作专职干事8人考试备考题库及答案解析.docx VIP
- 2025年安徽省池州市辅警协警笔试笔试预测试题(附答案).docx VIP
- 《追求理解的教学设计》读书心得.docx VIP
- 糖皮质激素诱导骨质疏松诊治专家共识.pptx VIP
- 2025内蒙古巴彦淖尔市能源(集团)有限公司第二批招聘55人笔试模拟试题及答案解析.docx VIP
文档评论(0)