Eredità
L'ereditarietà consente funzionalità comuni a essere ereditato dalle classi sub. Questo aiuta a ridurre la duplicazione del codice.
Base classe Base
{
IsLoggedIn ( ) Funzione IsLoggedIn protetto ()
{
/ *
*
* /
}
}
Article extends Base Articolo classe estende Base
{
hideContent = false ; private $ hideContent = false;
ShowContent ( ) ShowContent funzione pubblica ()
{
$ this - > hideContent & & ! $ this - > IsLoggedIn ( ) ) if ($ this -> hideContent && $ this -> IsLoggedIn ())
{
false ; return false;
}
true ; return true;
}
}
Come potete vedere è la parola chiave extends è necessario per una classe di ereditare da una classe base. Una classe che estende un altro ottiene l'accesso a tutti i protette variabili e pubblico e le funzioni.
Sottoposto a override
È possibile sovrascrivere membri ereditati e metodi, da questo significa che una funzione in una classe super può essere sostituita dalla classe ereditando.
Article extends Base Articolo classe estende Base
{
hideContent = false ; private $ hideContent = false;
IsLoggedIn ( ) Funzione IsLoggedIn protetto ()
{
true ; return true;
}
ShowContent ( ) ShowContent funzione pubblica ()
{
$ this - > hideContent & & ! $ this - > IsLoggedIn ( ) ) if ($ this -> hideContent && $ this -> IsLoggedIn ())
{
false ; return false;
}
true ; return true;
}
}
Un esempio di questo è mostrato sopra in cui l'articolo sostituisce la funzione IsLoggedIn, in modo che sempre restituito true.
Classe di astrazione
Questo tipo di classe è utilizzata in particolare per le finalità di successione contrassegnata come una classe astratta non può essere istanziata. Inoltre, i metodi possono essere contrassegnati come abstract che costringe le classi che ereditano per la loro attuazione a un pari o una maggiore visibilità.
Base classe base astratta
{
IsLoggedIn ( ) Funzione IsLoggedIn protetto ()
{
/ *
*
* /
}
IsHTTPSPage ( ) ; abstract IsHTTPSPage funzione protetta ();
}
Article extends Base Articolo classe estende Base
{
hideContent = false ; private $ hideContent = false;
ShowContent ( ) ShowContent funzione pubblica ()
{
$ this - > hideContent & & ! $ this - > IsLoggedIn ( ) ) if ($ this -> hideContent && $ this -> IsLoggedIn ())
{
false ; return false;
}
true ; return true;
}
IsHTTPSPage ( ) Funzione IsHTTPSPage protetto ()
{
false ; return false;
}
}
Come indicato sopra la IsHTTPSPage () la funzione doveva essere attuata da un errore di base altrimenti sarebbe stato buttato.
Nessun commento è stato fornito.
Scritto da Dominic Skinner
Ultimo aggiornamento: 2011/10/25 16:00:38