我正在寫(完善)Java的「擴展」,這將有助於角色編程。
我使用javacc將我的代碼翻譯成Java代碼。我的編譯器爲每個聲明的類添加一些代碼。這裏有一個例子要更清楚:Java:擴展對象類
MyClass extends String implements ObjectWithRoles { //implements... is added
/*Added by me */
public setRole(...){...}
public ...
/*Ends of stuff added*/
...//myClass stuff
}
它增加了實施..和必要的方法,你每個單一類的聲明。相當粗糙,不是嗎?
如果我在一個類中編寫我的方法,並且所有類擴展了..但是..如果類已經擴展了另一個類(就像這個例子),會更好嗎?
我不想創建一種管理角色的包裝,因爲我不希望程序員必須知道比Java更多的東西,幾個新的保留字及其用法。
我的想法是擴展java.lang.Object ..但你不能。 (對吧?)
其他想法?
我在這裏是新的,但我關注這個網站,所以謝謝你的閱讀和所有你給的答案! (我很抱歉英語,我是意大利語)
您不能擴展'String'。這是一個最終的類,你不能繼承它的子類:http://java.sun.com/javase/6/docs/api/java/lang/String.html – 2010-05-18 08:30:16
「我的想法是擴展java.lang。對象..但是你不能。(對吧?)「 嗯,我會說,任何類沒有擴展子類對象默認情況下。 – 2010-05-18 09:23:57
@James P.我認爲法比奧的意思是用他自己的更新版本替換Object。這可以做到,爲您自己的應用程序創建一個通用的基類,並從那裏擴展所有內容。但你不想添加,自動擴展到一切:) – extraneon 2010-05-18 09:42:58