traittrait_name{publicfunctionfunction_name();}interfaceinterface_name{publicfunctionfunction_name();}在學(xué)php,沒(méi)實(shí)際經(jīng)驗(yàn),感覺(jué)interface和trait很類(lèi)似,都是一種特殊的類(lèi).等到需要的時(shí)候,在當(dāng)前類(lèi)中寫(xiě)清具體方法,在通過(guò)implement,extends,use等去調(diào)用它們.這兩種設(shè)計(jì)有什么精妙之處?有什么區(qū)別呢?看了下各種回答,覺(jué)得挺有道理.trait和interface恰好相反,interface關(guān)心的是接口,把控全局,把實(shí)現(xiàn)和細(xì)節(jié)丟給其他人,而trait完全不關(guān)心接口(約定),trait內(nèi)部寫(xiě)好具體的功能細(xì)節(jié),其他人誰(shuí)要用use引入就行.(正所謂復(fù)用代碼).而trait的"多繼承",在一個(gè)類(lèi)中引入多個(gè)trait,又進(jìn)一步強(qiáng)化了"復(fù)用代碼".
有沒(méi)有人遇到過(guò)這個(gè)問(wèn)題哈!php中interface和trait的異同?
Qyouu
2019-08-14 20:12:20