erfenis in PHP klassen object-georiënteerd programmeren in PHP - Deel 3 Inleiding Dit is deel 3 van mijn serie, object georiënteerd programmeren in PHP. Overerving is de mogelijkheid om nieuwe klassen Bestaande classes als basis definiëren. Ik verklaren dat dit deel van de reeks. Opmerking: Als u de code niet kunt zien of als u denkt dat er iets ontbreekt (gebroken link afbeelding afwezig), neem dan contact met mij op [email protected]. Dat wil contact met mij op voor het geringste probleem dat je hebt over wat je aan het lezen bent.
Nieuwe Eigenschappen en methoden Een eigenschap of een methode is een lid van een klasse met de naam. U kunt een klasse met haar leden; dan wil je een nieuwe klasse dat diezelfde leden en nieuwe leden zal hebben. Ga je (gemaakt) een nieuwe klasse beschrijven overtypen dezelfde oude leden van de bestaande klasse plus nieuwe leden? PHP bestaat zodanig dat een klas met leden en een nieuwe naburige klasse met dezelfde en nieuwe leden kan hebben.
Dus, als je een klasse die gewoon heeft extra leden in aanvulling op wat een bestaande klasse heeft, je erft (zie hieronder) uit de bestaande klasse toevoegen van de nieuwe leden. Voorbeeld Het volgende programma toont een klasse met twee appartementen en een methode. Nou, het heeft ook de constructorfunctie.
De methode voegt de waarden van de twee eigenschappen: class Calculator {public $ num1; public $ num2; functie __construct ($ v1, v2 $) {$ this-> num1 = $ v1; $ this-> num2 = $ v2; } Publieke functie add () {$ som = $ this-> num1 + $ this-> num2; terug $ som; }} $ MyObj = new Calculator (6,7); $ result = $ myObj-> toe te voegen (); echo $ result; ?> Stel je voor dat je een klasse die een bedrag (een som is de toevoeging van twee waarden) zou vierkant en voegt een vaste waarde (bijvoorbeeld 5) naar het plein. We hebben al een klasse die doet het optellen van twee waarden.
Zo kunnen we een klasse af te leiden van deze bestaande klasse. De afgeleide klasse is de erfelijke klasse. Het zal een extra eigenschap, die de vaste waarde
(5) zal houden hebben. Het zal een extra methode die de som zal vierkant en voeg de vaste waarde hebben. Het erft de twee woningen en de methode add () van de bestaande klasse. De syntaxis om een klasse af te leiden van een ander is: class AfgeleideClassNaam breidt BaseClassNaam {//nieuwe leden} Je begint met het trefwoord, klasse. Dit wordt gevolgd door de naam van de afgeleide (erfelijke) klasse.
Dan moet je een spatie en het woord hebben, strekt. Vervolgens weer en dan een ruimte die de naam van de bestaande klasse. De bestaande klasse heet de basisklasse. We zeggen dat de afgeleide klasse wordt overgeërfd van de basisklasse. Na de naam basisklasse hierboven wordt getypt, moet je beschrijven (code) van de afgeleide klasse (nieuwe eigenschappen en /of nieuwe methoden) binnen accolades.
De volgende code laat zien hoe je een klasse af te leiden met behulp van de hierboven genoemde basisklasse: class Calculator {public $ num1; public $ num2; functie __construct ($ v1, v2 $) {$ this-> num1 = $ v1; $ this-> num2 = $ v2; } Publieke functie add () {$ som = $ this-> num1 + $ this-> num2; terug $ som; }} Klasse ChildCalculator breidt Calculator {public $ fixedVal; publieke functie squareAdd ($ antwoord) {$ finalVal = $ antwoord * $ antwoord + $ this-> fixedVal; return $ finalVal; }} $ MyChildObj = new ChildCalculator (6,7); $ myChildObj-> fixedVal = 5; $ result = $ myChildObj-> toe te voegen (); $ eindresultaat = $ myChildObj-> squareAdd ($ result); echo $ eindresultaat; ?>