2008-11-26 60 views

回答

4

號您需要包括類塊內所有的函數定義。如果在一個單獨的結構中定義你的函數使你感覺更好,你可以使用一個接口。

interface iBar 
{ 
    function foobar(); 
} 


class cBar implements iBar 
{ 
    function foobar() 
    { 
     //Code 
    } 
} 

我建議只是習慣以新的方式進行編碼。使用單一語言編碼很容易,但我認爲如果你想要在不同的語言中做同樣的事情,那麼你就是在拼命地戰鬥。

+0

每個人都給出了很好的答案。但是我已經選擇了你的答案,因爲這個引用:在一種語言中很容易編碼,但是我認爲如果你想要在不同的語言中做同樣的事情,你就是在爭奪一場失敗的戰鬥。 – MrValdez 2008-11-26 08:39:19

1

你不能以相同的方式做到這一點。不過,您可以使用class abstractioninterfaces。兩者之間的主要區別在於,接口不允許指定函數體,抽象對象中的抽象方法(非抽象)可以容納各種默認行爲。

抽象:

abstract class cBar 
{ 
    // MUST be extended 
    abstract protected function foobar(); 

    // MAY be extended 
    protected function someMethod() 
    { 
     // do stuff 
    } 
} 

class cBarExtender extends cBar 
{ 
    protected function foobar() 
    { 
     // do stuff 
    } 

} 

接口:

interface cBar 
{ 
    // MUST be implemented 
    protected function foobar(); 
} 

class cBarImplementation implements cBar 
{ 
    protected function foobar() 
    { 
     // do stuff 
    } 
} 
0

語言並沒有真正提供此功能,但如果你真的它,您可以安裝ClassKit擴展,它可以讓你在運行時做一些動態類修改。

相關問題