阅读以下说明和Java程序 将应填入(n)处的字句写在对应栏内。 [说明] 下面程序是为
问题详情
阅读以下说明和Java程序,将应填入(n)处的字句写在对应栏内。
[说明]
下面程序是为汽车市场编制的一个程序的一部分。其中automobile是基类。
[Java程序]
class MainJava{
public static void main(String agr[]){
car sedan=new car();
sedan.initialize(24,20.0,4);
System.out.println ("The sedan can travel"
+ (1) +"miles.n");
System.out.println ("The sedan has"
+ (2) +"doors.n");
}
}
class automobile{
protected int miles_per_gallon; //汽车每加仑行驶公里数
(3) double fuel_capacity; //油箱容积
public void initialize(int in_mpg,int in_fuel){
miles_per_galion=in_mpg;
fuel_capacity=in_fuel;
}
public int get_mpg(){//提供一辆特定汽车每加仑公里数
return miles_per_gallon;
}
public double get_fuel(){//提供油箱容积
return fuel_capacity;
}
public double travel_distance(){//计算满油箱情况下的可行驶总公里数
return (4);
}
}
class car (5) {
private int Total_doors;
public void initialize(int in_mpg,double in_fuel,int doors){
Total_doors=doors;
miles_per_gallon=in_mpg;
fuel_capacity=in_fuel;
}
public int doors(){
return Total_doors;
}
}请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:(1) sedan.travel_distance()(2) sedan.doors()(3) protected(4) fuel_capacity/miles_per_gallon(5) extends automobile
(1) sedan.travel_distance()(2) sedan.doors()(3) protected(4) fuel_capacity/miles_per_gallon(5) extends automobile 解析:本题以Java语言为载体,考查面向对象程序设计中的关于类的几个概念,包括继承以及基类和派生类中函数的调用。
本题的功能是定义了一个automobile基类,并由其派生出了car类,主函数中定义了car的对象,并通过该对象调用了基类和派生类中的函数。
首先,通过整体阅读该题目,我们发现类car中的initialize函数直接对基类中的两个成员函数赋值,所以基类中的两个成员函数应该是被保护的,(3)处应填入“protected”。在基类中提供了这样一个成员函数travel_distance,它返回的是该交通工具的可能行驶距离,根据题目中给出的数据,(4)处应填入“fuel_capacity/miles_per_gallon”。
其次,本题还考查了派生类继承的方式,由于在主函数中直接通过car的对象调用了基类的公有函数,(5)处应填入“extends automobile”。
最后,通过定义car的对象sedan,分别调用了基类和派生类中的一个函数,(1)处应填入“sedan.travel_distance()”,(2)处应填入“sedan.doors()”。