c++ 面向对象程序设计–开闭原则
在面对对象程序设计中,有很多原则需要我们去学习,在这里用c++简单的演示一下,开闭原则。开闭原则实质就是对扩展开放、修改封闭。等于说,一个系统需要增加新的功能,是在原有的基础上去扩展,而不是修改已有功能的代码。例如下面的计算器小程序,只实现了加法和减法、后续可以扩展乘除等等。(利用多态的思想,使得程序的可扩展性更强)
// 开闭原则.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <cstdlib>
#include <iostream>
#include <ostream>
class Calculate
{
public:
virtual int myCalculate() = 0;
};
// 加法
class Add :public Calculate
{
public:
Add(int a,int b)
{
this->a = a;
this->b = b;
}
virtual int myCalculate()
{
return a + b;
}
private:
int a;
int b;
};
// 减法
class Sub:public Calculate
{
private:
int a;
int b;
public:
Sub(int a,int b)
{
this->a = a;
this->b = b;
}
virtual int myCalculate()
{
return a - b;
}
};
// 后续可扩展乘法、除法、取模、开根、平方等等。
int main()
{
Calculate * p = new Add(10,20);
int mAdd = p->myCalculate();
std::cout << mAdd << std::endl;
delete p;
p = new Sub(10, 2);
int mSub = p->myCalculate();
std::cout << mSub << std::endl;
delete p;
system("pause");
return 0;
}
结果:

本文通过一个C++计算器程序实例介绍了面向对象设计中的开闭原则,即对修改关闭,对扩展开放。通过继承和多态实现了加法与减法功能,并预留了后续扩展的空间。
75万+

被折叠的 条评论
为什么被折叠?



