首先,我的無處不在的語言是PHP,我正在考慮學習Java。接口:利用
所以讓我分兩個密切相關的部分我的問題。
這裏是第一部分。
說我有一個域模型類。它有一些getter,setter,一些查詢方法等。有一天,我想有一個可能性來比較它們。所以它看起來像:
class MyEntity extends AbstractEntity
{
public function getId()
{
// get id property
}
public function setId($id)
{
// set id property
}
// plenty of other methods that set or retrieve data
public function compareTo(MyEntity $anotherEntity)
{
// some compare logic
}
}
如果它本來的Java,我應該已經實現了Comparable
接口。但爲什麼?多態性? Readbility?或者是其他東西?如果是PHP - 我應該爲自己創建Comparable
界面嗎?
所以這裏是第二部分。
我的同事告訴我,爲Java的每個行爲方面創建一個接口是Java中的一條經驗法則。例如,如果我想提出這個對象的字符串,我應該是:由類似implements Stringable
,凡在PHP Stringable
的情況是這樣的行爲:
interface Stringable
{
public function __toString();
}
那真的是一個經驗法則?這種方法有什麼好處?這是否值得在PHP?在Java中?
我認爲這個問題似乎更適合programmers.stackexchange.com – 2012-04-03 20:10:04