1. 泛化(Generalization)
在c++中对应继承,如B是A的泛化,在C++中表现为:
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B : public A</span>
{
<span style="font-family: Arial, Helvetica, sans-serif;"> public:</span><span style="white-space:pre"> </span>B() {}
virtual ~B() {
}}
在C++中对应,对应是虚拟函数的概念,如B实现了A,是实现了A中虚拟函数的具体功能(接口),在C++中表现:
class A
{
public:
A() {}
virtual ~A() {}
virtual void fun(int x,int y) =0;
};
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B : public A</span>
{
<span style="font-family: Arial, Helvetica, sans-serif;"> public:</span><span> </span>B() {}
virtual ~B() {}<pre name="code" class="cpp"><span style="white-space:pre"> </span>virtual void fun(int x,int y);
}
<pre name="code" class="cpp"><pre name="code" class="cpp">class B {
public:
B() {}
virtual ~B() {}
void fun(A *m_A);
}<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B </span>
{
<span style="font-family: Arial, Helvetica, sans-serif;"> public:</span><span> </span>B() {}
virtual ~B() {}<span> </span>A *m_A;
}
<pre name="code" class="cpp"><span style="font-family: Arial, Helvetica, sans-serif;">class B </span>
{
<span style="font-family: Arial, Helvetica, sans-serif;"> public:</span><span> </span>B() {}
virtual ~B() {}<span> </span>A m_A;
}
原文地址:http://blog.csdn.net/hitzjm/article/details/46645631