[英]Multiple inheritance or Multiple interfaces
我是Java的新手,我想知道哪種解決方案更正確以及為什么。
我有兩個接口:
interface Account
{
public double getBalance();
}
interface Taxable
{
public double calculateTaxes();
}
我需要一個實現這兩個接口的類。
對我來說,這種解決方案更直觀:
class TaxableAccount implements Account, Taxable
{
@Override
public double calculateTaxes()
{
return 10; //just for example
}
@Override
public double getBalance()
{
return 20;
}
}
但是我讀了一本書有這樣的解決方案:
interface TaxableAccount extends Account, Taxable
{
}
class AccountWithTaxes implements TaxableAccount
{
@Override
public double calculateTaxes()
{
return 10;
}
@Override
public double getBalance()
{
return 20;
}
}
謝謝。
除非您打算向其中添加一些內容,否則TaxableAccount接口將毫無意義-至少說一種額外的方法。 空界面是一種“代碼異味”,應將其刪除,從而為您提供了完美的第一個示例。
另一個提示,這是一個“氣味”,是在第二個示例中很難為類命名一個好的,簡單的名稱-大多數情況下,命名應該是顯而易見的,不言而喻,就像在第一個示例中一樣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.