实验目的与要求 深刻理解面向对象编程思想与设计原则,熟悉Java语言中类的声明、属性的声明、方法的定义、对象的创建与使用等语法知识,能够根据具体问题完成对象的抽象、类的定义及程序的编写,并在程序中使用适当的设计原则,初步体验面向对象编程的优点。 实验内容 使用Java语言编写一个能实现“加、减、乘、除”四则运算的计算器程序。 要求: (1)在程序中要体现面向对象编程语言的三大特征:封装、继承和多态。 (2)该程序要易于扩展和复用。以后可以方便地增加新的运算;程序的业务逻辑与界面部分要实现分离,便于业务逻辑的复用。 (3)使用UML类图描述程序的结构。 (4)指出你所设计的程序符合哪些设计原则。
UML类图 实现代码
Calculator类(计算器类):
public class Calculator {
public double num1;
public double num2;
public Calculator(double num1, double num2) {
this.num1=num1;
this.num2=num2;
}
public double getResult() {
return 0;
}
}
Add类(加法类):
public class Add extends Calculator{
public Add(double num1,double num2) {
super(num1,num2);
}
public double getResult() {
return num1+num2;
}
}
Sub类(减法类):
public class Sub extends Calculator{
public Sub(double num1,double num2) {
super(num1,num2);
}
public double getResult() {
return num1-num2;
}
}
Mul类(乘法类):
public class Mul extends Calculator{
public Mul(double num1,double num2) {
super(num1,num2);
}
public double getResult() {
return num1*num2;
}
}
Div类(除法类):
public class Div extends Calculator{
public Div(double num1,double num2) {
super(num1,num2);
}
public double getResult() {
return num1/num2;
}
}
Oper类(操作类):
public class Oper {
public static void main(String[] args) {
Calculator calculator=new Add(1,2);
double result = calculator.getResult();
System.out.println(result);
calculator=new Sub(1,2);
result = calculator.getResult();
System.out.println(result);
calculator=new Mul(1,2);
result = calculator.getResult();
System.out.println(result);
calculator=new Div(1,2);
result = calculator.getResult();
System.out.println(result);
}
}
问题思考:你所设计的程序符合哪些设计原则? 开闭原则、里氏替换原则、单一职责
标签:num1,num2,软件设计,double,getResult,result,public,运算器,体系结构 From: https://blog.51cto.com/histry/9098294