traittrait_name{publicfunctionfunction_name();}interfaceinterface_name{publicfunctionfunction_name();}在学php,没实际经验,感觉interface和trait很类似,都是一种特殊的类.等到需要的时候,在当前类中写清具体方法,在通过implement,extends,use等去调用它们.这两种设计有什么精妙之处?有什么区别呢?看了下各种回答,觉得挺有道理.trait和interface恰好相反,interface关心的是接口,把控全局,把实现和细节丢给其他人,而trait完全不关心接口(约定),trait内部写好具体的功能细节,其他人谁要用use引入就行.(正所谓复用代码).而trait的"多继承",在一个类中引入多个trait,又进一步强化了"复用代码".
慕村225694
长风秋雁
相关分类