3.1 早期方法 是不利于扩展
3.2 开发有原则 开闭原则 – 对扩展开放 对修改关闭
3.3 利用多态实现 – 利于后期扩展,结构性非常好,可读性高, 效率稍微低,发生多态内部结构复杂
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<string>
using namespace std;
//真正的开发中,有个开发原则 开闭原则
// 对扩展开放 对修改关闭
//利用多态实现计算器
class Calculator {
public:
Calculator(int a, int b) :m_a(a), m_b(b) {};
virtual int getResult() {
return 0;
}
int m_a, m_b;
};
//加法计算器
class Addition :public Calculator {
public:
Addition(int a, int b) :Calculator(a, b) {};
virtual int getResult() {
return m_b+m_a;
}
};
class Subtraction :public Calculator {
public:
Subtraction(int a, int b) :Calculator(a, b) {};
virtual int getResult() {
return m_b - m_a;
}
};
class Multiplication :public Calculator {
public:
Multiplication(int a, int b) :Calculator(a, b) {};
virtual int getResult() {
return m_b * m_a;
}
};
void test01() {
Calculator *abc;
abc = new Addition(10, 20);
cout << abc->getResult() << endl;
delete abc;
abc = new Subtraction(65, 98);
cout << abc->getResult() << endl;
delete abc;
abc = new Multiplication(12, 3);
cout << abc->getResult() << endl;
delete abc;
}
int main(){
test01();
system("pause");
return 0;
}