我有一个抽象类Rental ...我还有两个子类,SuiteRental和SimpleRoomRental继承了Rental类。我在第三类酒店(不与其他酒店连接)中有一个ArraList,它包含对象SimpleRoomRental和SuiteRental。
所以,我想检查每个对象(可能是使用instance_of)但是我不能创建一个Rental对象(导致它的抽象类)。我应该声明什么类型的' k'对象?!?
任何想法?
public void calculateTotalRentalFees (){
double price=0;
for (int i=0; i<rentals.size(); i++){
if (k instanceof SimpleRoomRental){
SimpleRoomRental y= new SimpleRoomRental();
price=price + y.calculateCost();
}else if(k instanceof SuiteRental){
SuiteRental z=new SuiteRental();
price=price + z.calculateCost();
}
}
}
我还有一个包含calculateCost()方法的接口。
public interface Cost {
public interface Costs {
double calculateCost();
}
}
谢谢你的时间答案 0 :(得分:0)
通过使用接口,您也可以同时处理它们,这是使用多态的好处,它们甚至可以为该方法实现不同的实现!
RoomRental rental = new SimpleRoomRental();
// You can use too: new SuiteRental();
price = price + rental.calculateCost();