1 OOP概述
面向对象基于三个基本概念:数据抽象、继承和动态绑定。通过使用数据抽象,我们可以将类的接口与实现分离;使用继承,可以定义相似的类型并对其相似关系建模;使用动态绑定,可以在一定程度上忽略相似类型的区别,而以统一的方式使用它们的对象。
1.1 继承
继承是派生类与基类之间的关系,它们共享了一些公共的东西,而派生类特化了一些本质不同的东西。类与类之间的继承关系构成了继承层...
分类:
编程语言 时间:
2014-06-19 12:11:25
阅读次数:
318
一、由编译器生成的成员函数
1)默认的构造函数
默认构造函数定义为没有参数,或者有默认的参数值。当用户自己未定义时,系统可以提供。
自动生成的默认构造函数,会调用继承的基类的默认构造函数来构造派生类的基类部分。
若Star是一个类,则
Star orig;
Star array[6];都将需要默认构造函数。
如果自己定义了构造函数,则系统不会再生成默认构造函数,这个时候最好自己要定义...
分类:
编程语言 时间:
2014-06-16 12:23:39
阅读次数:
262
//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////-------------...
分类:
其他好文 时间:
2014-06-15 21:11:06
阅读次数:
318
继承
一个类可以从其它类继承方法,属性以及一些特征。被继承的类叫父类,那另一种就是子类了。。这个我们都懂的。。
这是一个官方给的例子,它是一个基类(Base Class),因为它没有继承任何一个类,这个类里面有一个init方法,我们暂时忽略,只要知道这是个初始化方法,在我们创建一个类的实例的时候,这个方法会被执行,下一篇笔记会详细分析。
class MyCar:...
分类:
其他好文 时间:
2014-06-15 18:32:00
阅读次数:
164
//----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司// // 功能描述:实体框架数据仓储的操作接口,包含增删改查接口////-------------...
分类:
其他好文 时间:
2014-06-15 09:04:48
阅读次数:
630
本将主要介绍下CCNode这个类,CCNode是所有节点的基类,其中包括我们常用的CCScene(场景)、CCLayer(图层)、CCSprite(精灵)等,它是一个不能够可视化显示的抽象类,只是用来定义所有节点的公共属性和方法的。本讲纯粹是理论。首先来看看CCNode的继承结构图,只列举了常用的类...
分类:
其他好文 时间:
2014-06-14 22:18:07
阅读次数:
292
请记住:(1)polymorphic(带多态性质的)base classes应该声明一个virtual析构函数。如果class声明一个virtual函数,它就应该拥有一个virtual析构函数。(2)class的设计目的如果不是作为base classes使用,或不是为了具备多态,就不应该声明vir...
分类:
编程语言 时间:
2014-06-14 20:19:05
阅读次数:
221
一. 问题
在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template提供了这种情况的一个实现框架。
二. 模式
Template 模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。
...
分类:
编程语言 时间:
2014-06-14 10:45:25
阅读次数:
250
@1:找不到Riched20.lib
用everything等软件搜索下磁盘,找到所在的目录添加到vs的库目录即可,我得是C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib;其他的vs版本可能不一样,自行搜索
@2: “IDispatchEx”: 重定义;不同的基类型 点击打开链接
UIFlash.h行:...
分类:
其他好文 时间:
2014-06-14 00:16:47
阅读次数:
378
CHAIN_MSG_MAP(baseClass)是个很简单的宏,就是调用某个基类的ProcessWindowsMessage函数。意味着你把消息路由给他,看它处理不处理//
处理程序原型: // LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LP....