java面向对象小程序_java运用面向对象的思想实现计算器的小程序
其實,覺得最重要的就是這里的這樣的一段核心代碼。
package org.lenovo.demo;
public class OperationFactory {
public static Operation createOperation(String operate){
Operation oper = null;
switch(operate){
case "+":
oper = new AddOperation();
break;
case "-":
oper = new SubOperation();
break;
case "*":
oper = new MulOperation();
break;
case "/":
oper = new DivOperation();
break;
}
return oper;
}
}
在上面的這一段代碼中,其中Operation是定義的一個接口,如下所示:
package org.lenovo.demo;
public interface Operation {
public double getResult(double numA , double numB);
}
而對于加法、減法、乘法、除法以及取余等操作,都是分別定義的一個類,而對于這個類又實現了Operation接口。如下所示:
package org.lenovo.demo;
public class AddOperation implements Operation {
public double getResult(double numA, double numB){
return numA + numB;
}
}
所以,對于OperationFactory類中,通過對于操作符號的一個switch.....case判斷,來選擇相應的子類進行實例化接口的操作。而在Main方法中,對于此功能的核心調用代碼如下:
oper?=?OperationFactory.createOperation(operate);
result?=?oper.getResult(numA,?numB);
其中對于oper對象、operate(String)字符串、以及double類型的numA,?numB在之前已經定義好了。
小結:關于Java多態性的描述,可以理解為一個接口,多個方法。當我們需要實例化此接
口的時候,通過具體的情況用相應的子類來實例化。這樣被實例化的對象所調用的方
法就是就是子類所覆寫的方法,從而來達到了這一要求。而在這個程序中,如果我們
需要定義一個取模的操作,也是只需要定義一個類實現Operation接口,然后
在OperationFactory中,添加一段判斷代碼即可。
總結
以上是生活随笔為你收集整理的java面向对象小程序_java运用面向对象的思想实现计算器的小程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win7与XP网络共享如何设置
- 下一篇: java invokeall 阻塞_Ex