traittrait_name{publicfunctionfunction_name();}interfaceinterface_name{publicfunctionfunction_name();}在學php,沒實際經驗,感覺interface和trait很類似,都是一種特殊的類.等到需要的時候,在當前類中寫清具體方法,在通過implement,extends,use等去調用它們.這兩種設計有什么精妙之處?有什么區別呢?看了下各種回答,覺得挺有道理.trait和interface恰好相反,interface關心的是接口,把控全局,把實現和細節丟給其他人,而trait完全不關心接口(約定),trait內部寫好具體的功能細節,其他人誰要用use引入就行.(正所謂復用代碼).而trait的"多繼承",在一個類中引入多個trait,又進一步強化了"復用代碼".
php中interface和trait的異同?
慕村9548890
2019-10-31 09:43:35