2008-11-26 67 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扩展,它可以让你在运行时做一些动态类修改。

相关问题