Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ppOpIhOI 36 of 107 menu
◀ ▶

Ο Τελεστής instanceof και η Κληρονομικότητα στην αντικειμενοστρεφή προγραμματισμό στην PHP

Ας εξετάσουμε τα χαρακτηριστικά της κληρονομικότητας όταν χρησιμοποιούμε τον τελεστή instanceof. Ας υποθέσουμε ότι έχουμε μια γονική κλάση και μια παιδική κλάση:

<?php // Γονική κλάση: class ParentClass { } // Παιδική κλάση: class ChildClass extends ParentClass { } ?>

Ας δημιουργήσουμε ένα αντικείμενο της παιδικής κλάσης:

<?php $obj = new ChildClass; ?>

Ας ελέγξουμε τώρα με τη βοήθεια του instanceof, αν το αντικείμενό μας ανήκει στην κλάση ParentClass και στην κλάση ChildClass:

<?php var_dump($obj instanceof ChildClass); // θα εμφανίσει true var_dump($obj instanceof ParentClass); // θα εμφανίσει επίσης true ?>

Όπως βλέπετε από το παράδειγμα - ο τελεστής instanceof δεν κάνει διάκριση κατά τον έλεγχο μεταξύ γονικών και παιδικών κλάσεων.

Μην μπερδεύεστε - εάν το αντικείμενο είναι πράγματι της γονικής κλάσης, τότε, φυσικά, ο έλεγχος για ανήκει στην παιδική κλάση θα επιστρέψει false:

<?php $obj = new ParentClass; // αντικείμενο γονικής κλάσης var_dump($obj instanceof ParentClass); // θα εμφανίσει true var_dump($obj instanceof ChildClass); // θα εμφανίσει false ?>

Δημιουργήστε μια κλάση User με δημόσιες ιδιότητες name και surname.

Δημιουργήστε μια κλάση Employee, η οποία θα κληρονομεί από την κλάση User και θα προσθέτει την ιδιότητα salary.

Δημιουργήστε μια κλάση City με δημόσιες ιδιότητες name και population.

Δημιουργήστε 3 αντικείμενα της κλάσης User, 3 αντικείμενα της κλάσης Employee, 3 αντικείμενα της κλάσης City, και με τυχαία σειρά γράψτε τα σε έναν πίνακα $arr.

Περιμένετε με βρόχο τον πίνακα $arr και εμφανίστε στην οθόνη μια στήλη με τις ιδιότητες name εκείνων των αντικειμένων, που ανήκουν στην κλάση User ή σε απόγονό αυτής της κλάσης.

Περιμένετε με βρόχο τον πίνακα $arr και εμφανίστε στην οθόνη μια στήλη με τις ιδιότητες name εκείνων των αντικειμένων, που δεν ανήκουν στην κλάση User ή σε απόγονό αυτής της κλάσης.

Περιμένετε με βρόχο τον πίνακα $arr και εμφανίστε στην οθόνη μια στήλη με τις ιδιότητες name εκείνων των αντικειμένων, που ανήκουν ακριβώς στην κλάση User, δηλαδή όχι στην κλάση City και όχι στην κλάση Employee.

← →
↑
Ελληνικά▼
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη