C++设计模式-面向对象程序设计要点以及封装性特点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/84176459

目录

 

1.面向对象程序设计要点

2.单使用封装性的例子


1.面向对象程序设计要点

面向对象程序设计要注意什么:
注意3点:
1.可维护性;
2.可扩展性;
3.可复用性;
4.灵活性好;
注意:要尽可能的避免重复;
要求业务逻辑与界面分离,让他们的耦合性降低。只有这样才能达到容易维护和扩展;


1.通过封装、继承、多态把程序的耦合度降低;
2.面向对象要结合设计模式使用,从而使得程序更加灵活,容易修改,并易于复用;

2.单使用封装性的例子

单使用封装性的面向对象程序设计:

运行截图如下:

源码如下:

Operation.h

#include <iostream>
#include <string>
#include <cmath>
using namespace std;

class Operation{

public:
	static double getResult(double numberA, double numberB, string operate){
		double result = 0.0;

		enum operation
		{
			addOper,
			subOper,
			mulOper,
			divOper
		};

		if(operate.compare("+") == 0){
			result = numberA + numberB;
		}
		else if(operate.compare("-") == 0){
			result = numberA - numberB;
		}
		else if(operate.compare("*") == 0){
			result = numberA * numberB;
		}
		else if(operate.compare("/") == 0){
			
			if(abs(numberB) < 0.0001)
				throw "Division by zero condition!";

			result = numberA / numberB;
		}
		else{
			throw "The operator is wrong!";
		}

		return result;
	}
};

main.cpp

#include "Operation.h"

int main(){

	try{
		double numberA, numberB;
		string opera;
		cout << "请输入数字A:";
		cin >> numberA;
		cout << "输入运算符(+、-、*、/):";
		cin >> opera;
		cout << "请输入数字B:";
		cin >> numberB;

		
		double result = Operation::getResult(numberA, numberB, opera);
		cout << result << endl;
	}
	catch(const char *msg){
		cout << "error informaiton:" << msg <<endl;
	}
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/84176459
今日推荐