Abans d’entendre els trets . Hem après sobre l'herència que significa que una classe pot ampliar una altra classe. Diguem que la classe B amplia la classe A i la classe C també amplia la classe A, la qual cosa significa que la classe B i la classe C poden accedir a les funcions definides a la classe A, però suposem que si la classe B i la classe C tenen la funció X anul·lada i diguem que la classe D és ampliant les dues classes.
Tot i que múltiples herències no l'admeten amb PHP, però suposem que seria un cas llavors, quina funció executarà la classe D? És de la classe B o És de la classe C? Per tant, en realitat es tracta d’un problema d’herència múltiple, per això PHP no l’admet, però hi ha molts casos en què voleu ampliar més d’una classe per reutilitzar el codi.
programa d'ordenació de combinació simple en c ++
Quan parlem d’un problema d’herència única, la classe D amplia la classe C, però què passa si volem tenir algunes funcions de la classe B de la classe D. Per a això podem utilitzar trets que s’introdueixen a PHP 5.4. És senzill i fàcil de crear. És com una classe, però només per a un grup de mètodes i com a classes abstractes, no es poden instanciar discrecions.
Trets en PHP
En general, poden definir tant membres estàtics com mètodes estàtics que ajuden els desenvolupadors a reutilitzar mètodes lliurement en diverses classes independents en diferents jerarquies de classes. Els trets eviten problemes associats a múltiples herències, Mixins i també redueixen la complexitat.
Sintaxi:
Els trets es poden incloure dins d'altres classes d'aquesta manera.
class Publicar {use Sharable} class Comentari {use Sharable}
Com que PHP no permet múltiples herències, Trait s'utilitza per superar-ho, ja que ens permet reutilitzar la mateixa funcionalitat en diverses classes. L'exemple següent mostra el funcionament de trets en PHP.
func ()?>
Sortida:
Avantatge dels trets
Els trets redueixen la duplicació de codi alhora que eviten l’herència de classes complicada que potser no té sentit en el context de la vostra aplicació.
Això ajuda a permetre definir trets simples que siguin clars i concisos i que després es barregin amb aquesta funcionalitat si escau.
Trets vs Interfícies en PHP
En general, la diferència principal entre les interfícies i els trets de PHP és que els trets defineixen bàsicament la implementació real de cada mètode dins de cada classe, de manera que la mateixa interfície és implementada per moltes classes però té un comportament diferent, mentre que els trets són només trossos de codi injectats en una classe de PHP.
Amb això, arribem al final d’aquests trets a l’article Python. Espero que hagueu après sobre els trets, l'avantatge dels trets i la diferència entre trets i interfícies.
Si heu trobat aquest blog de PHP rellevant, consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món.
Tens alguna pregunta? Si us plau, mencioneu-ho a la secció de comentaris de 'Trets en PHP' i us respondré.