如何从Java中的两个不同类继承1-1变量?
电信公司:如何从Java中的两个不同类继承1-1变量?,java,Java,电信公司: abstract class BasicContract{ private int minute_price; private int SMS_price; } abstract class FreeSMS extends BasicContract{ private int free_sms; } abstract class Internet extends BasicContract{ private int usable_net; }
abstract class BasicContract{
private int minute_price;
private int SMS_price;
}
abstract class FreeSMS extends BasicContract{
private int free_sms;
}
abstract class Internet extends BasicContract{
private int usable_net;
}
人们可以购买不同类型的包装。有一些合同,客户可以:
-通话和发送短信
class OldStyle extends BasicContract{
...
}
-通话,发送短信,并有一些免费短信可以发送
class NeedSMS extends FreeSMS{
...
}
-聊天、发短信、上网
class NeedInternet extends Internet{
...
}
我想要一个合同什么包括交谈,发送短信,有免费短信和可以上网
在C++中,它将是:
class NeedSMSAndInternet: public FreeSMS, public Internet{
...
}
我应该如何在Java中实现这一点?正如我所看到的,接口不能有变量,只能有方法,在Java中没有多个父类…组成一个同时接受变量和方法而不是扩展的类。在Java中,您应该更喜欢组合而不是继承链。您不应该考虑继承字段,而应该考虑继承方法,这些方法可以在接口中定义,例如
getSmsPrice()
,setsmprice(double price)
等。这是家庭作业吗?因为你根本不应该这么做。您不希望每次他们添加新计划时都必须重写代码。在现实世界中,OO继承用于固定的计算机抽象,如套接字、GUI元素、I/O流和c。不适用于客户、员工或产品,当然也不适用于表达其不同且不断变化的角色和内容。