⊗ppOpTrMP 82 of 107 menu

Προτεραιότητα μεθόδων κατά την εργασία με traits στο OOP της PHP

Εάν μια κλάση και ένα trait έχουν μια μέθοδο με το ίδιο όνομα, τότε η μέθοδος της κλάσης θα παρακάμψει τη μέθοδο του trait:

<?php trait TestTrait { // Μέθοδος με όνομα method: public function method() { return 'trait'; } } class TestClass { use TestTrait; // Η ίδια μέθοδος με όνομα method: public function method() { return 'test'; } } $test = new TestClass; echo $test->method(); // θα εμφανίσει 'test' - ενεργοποιήθηκε η μέθοδος της ίδιας της κλάσης ?>

Εάν η ίδια η κλάση δεν έχει μια τέτοια μέθοδο, αλλά υπάρχει μια διένεξη ονομάτων μεταξύ μεθόδων του trait και μεθόδων της γονικής κλάσης, τότε οι μέθοδοι του trait έχουν προτεραιότητα:

<?php trait TestTrait { // Μέθοδος με όνομα method: public function method() { return 'trait'; } } // Γονική κλάση: class ParentClass { // Μέθοδος με όνομα method: public function method() { return 'parent'; } } // Η κλάση κληρονομεί τη μέθοδο method από τον γονέα: class TestClass extends ParentClass { use TestTrait; } $test = new TestClass; echo $test->method(); // θα εμφανίσει 'trait', αφού το trait έχει προτεραιότητα ?>
Ελληνικά
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Χρησιμοποιούμε cookie για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη