PHP klassen definiëren objecten en kapselen functionaliteit voor die objecten . Bij de ontwikkeling van een PHP applicatie , kunt u tijd besparen door het gebruik van een PHP- klasse die al voor de taken die u uitvoert in de toepassing bestaat. Als een PHP- klasse die u wilt gebruiken heeft de meeste , maar niet alle , de functionaliteit die u nodig hebt voor een object , kunt u de PHP- klasse uitbreiden , gebruikt u de functionaliteit reeds door de klasse gedefinieerd en voeg extra functionaliteit toe aan uw uitgebreide versie van de klas . Instructies 1 Neem de PHP- klasse die u wilt uitbreiden . Typ bijvoorbeeld het volgende om een PHP- klasse die een zetel toegewezen en bevat een functie om de momenteel toegewezen zetel weer te omvatten . < ? Php Class Seat { beschermd $ toegewezen = " " ; publieke functie __ construct ( ) { $ this - > toegewezen = get_next_assigned_seat ( ) op ; } publieke functie toont ( ) { echo " De huidige stoel toegewezen is " . $ this - > toegewezen . " < /p > " ; } } kopen van 2 Maak een nieuwe PHP- klasse die de oorspronkelijke klasse breidt . Functionaliteit toe te voegen aan de uitgebreide klasse - bijvoorbeeld de mogelijkheid om een zetel opdracht overschrijven . Type : Class SpecialSeat breidt Seat { prive approval_code $ = " abc123 " ; publieke functie override ( $ goedkeuring , $ newseat ) { if ( $ goedkeuring == $ approval_code ) { $ this - > toegewezen = override_assigned_seat ( $ newseat ) ; return true; } return false ; } } 3 Steek het grootste deel van het programma dat u een zitplaats met behulp van de functionaliteit van het origineel krijgt klasse , overschrijft de zetel opdracht met de functionaliteit toegevoegd via de verlengde klas en geeft de stoel opdracht met de functionaliteit van de oorspronkelijke klasse . Typ bijvoorbeeld : $ zetel = new SpecialSeat ( ) ; $ zitplaats - > tonen ( ) op ; if ( $ zitplaats - > override ( " abc123 " , " F1 " ) ) echo " Seat overschreven < /p > " ; anders echo " Seat overschrijven is mislukt < /p > " ; ! $ zitplaats - > tonen ( ) ; ? >
|