[求助] 程序解答
disanjia 于 2008-5-11 12:47:49 加贴在 Java程序设计 ←返回版面

设计一个200电话的类,包括卡号、密码、余额、拨入号码等属性。电话卡的常用操作有,连接电话、返回余额、通电话的函数。此类中使用了继承。
//主类,用来测试200卡的类
public class Test200Card {
//模拟200卡的查余额,打电话后余额的减少,还有打长途加收(additoryFee)
public static void main(String[] args) {
C200_Card my200card=new C200_Card();
my200card.balance=100.0;
my200card.additoryFee=0.1;
System.out.println("PhoneCard类的balance的值:"
+my200card.getBalance());
if(my200card.performDial()){
System.out.println("打了一次电话以后:");
System.out.println("C200_Card类中balance的值:"+my200card.balance);
}
}
}
//电话卡抽象类,包括了一个成员变量是“余额”,和一个成员方法“取余额”。
//还有一个抽象方法是“打电话”,它是一个没有实现的方法
abstract class PhoneCard1{
double balance;
abstract boolean performDial();
double getBalance(){
return balance;
}
}
//数字电话卡类,它继承PhoneCard1类,它包括了数字电话卡的各种属性。
abstract class Number_PhoneCard extends PhoneCard1{
long cardNumber;
int password;
String connectNumber;
boolean connected;
boolean performConnection(long cn,int pw){
if(cn==cardNumber && pw==password){
connected=true;
return true;
}
else{
connected=false;
return false;
}
}
}
//200电话卡类,它包括了additoryFee
//它又重新定义了balance,并会覆盖父类的父类(也叫超类)的PhoneCard中的balance。
class C200_Card extends Number_PhoneCard{
//附加费
double additoryFee;
double balance;
boolean performDial(){
//判断余额是否大于0.5加上附加费,是则扣除通话费用,否则返回false。
if(balance>(0.5+additoryFee)){
balance-=0.5+additoryFee;
return true;
}
else
return false;
}
}
如何编写 在C200_Card类中屏蔽balance,再运行程序并写出运行结果。说明本程序中使用了哪些知识,及其作用。
计算机世界开发者俱乐部 http://dev-club.esnai.com

