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

Override dei metodi padre in OOP in PHP

Una classe figlia può sovrascrivere un metodo del padre, creando un metodo con lo stesso nome. Diamo un'occhiata a un esempio. Supponiamo di avere la seguente classe genitore:

<?php class User { private $name; public function setName($name) { $this->name = $name; } public function getName() { return $this->name; } } ?>

Creiamo un metodo con lo stesso nome nella classe figlia:

<?php class Student extends User { public function setName($name) { } } ?>

In genere, la sovrascrittura dei metodi del padre serve per modificare o integrare il comportamento di tale metodo. Nel nostro caso, aggiungiamo un controllo sulla lunghezza del nome:

<?php class Student extends User { public function setName($name) { if (strlen($name) > 0) { $this->name = $name; } else { echo 'student name error'; } } } ?>

Assicuriamoci che venga chiamato proprio il metodo sovrascritto. Per prima cosa, creiamo un oggetto della classe figlia:

<?php $student = new Student; ?>

Ora chiamiamo il nostro metodo, passandogli un valore corretto:

<?php $student->setName('john'); ?>

Ora chiamiamo il metodo, passandogli un valore non corretto. Come risultato, vedremo un'eccezione generata:

<?php $student->setName(''); // errore ?>

Nella classe User create un getter e un setter per l'età.

Nella classe Employee sovrascrivete il setter dell'età e aggiungete un controllo che verifichi che l'età sia compresa tra 18 e 65 anni.

← →
↑
Italiano▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta