Wat is OOP abstracte klasse in PHP?

Wat Is Oop Abstracte Klasse In Php



Het fundament van de 'objectgeoriënteerd programmeren' (OOP) paradigma is het idee dat 'voorwerpen' kan zowel code als gegevens bevatten. Een van de belangrijkste componenten van objectgeoriënteerd programmeren (OPEN) in PHP , een populaire scripttaal, is het gebruik van abstracte klassen . In PHP, een abstracte klasse dient als model voor het maken van andere klassen, omdat het niet op zichzelf kan worden geïnstantieerd. Dit artikel bespreekt abstracte lessen' definitie, functionaliteit en gebruik in PHP's OOP.

Wat is een abstracte klasse?

Ten eerste is het belangrijk om te begrijpen wat een abstracte klasse is in PHP . Een klasse die niet kan worden geïnstantieerd of direct in een object kan worden gemaakt, wordt dat genoemd abstract . In plaats daarvan gebruiken andere klassen die ervan erven het als een basis- of bovenliggende klasse. Abstracte lessen geef geen specifieke implementatie van de afgeleide klassen; ze schetsen eerder hun structuur en gedrag. Hierdoor kunnen afgeleide klassen hun eigen onderscheidende gedrag behouden terwijl ze toch vasthouden aan het fundamentele raamwerk van de abstracte klasse.

Als onderdeel van PHP 'S OPEN , abstracte klassen dienen als een middel om een ​​basisverzameling van kenmerken te definiëren die kunnen worden gedeeld door meerdere afgeleide klassen. Ontwikkelaars kunnen een sjabloon leveren voor klassen die erven van een abstracte klasse door deze te maken. Om ervoor te zorgen dat alle afgeleide klassen voldoen aan dezelfde interface, dient deze blauwdruk als een contract tussen de abstracte klasse en de afgeleide klassen. De implementatiespecificaties worden overgelaten aan elke subklasse, maar deze interface specificeert de gemeenschappelijke methoden die nodig zijn voor alle subklassen. Wijzigingen die in de abstracte klasse worden aangebracht, worden onmiddellijk doorgevoerd naar alle afgeleide klassen die er gebruik van maken, waardoor code vaker kan worden hergebruikt en onderhoud eenvoudiger wordt.







Hoe werken abstracte klassen in PHP?

Wanneer de trefwoord 'abstract' wordt gebruikt om een ​​klasse te definiëren, wordt PHP geïnformeerd dat de klasse niet kan worden geïnstantieerd. Beide abstract En niet-abstract methoden zijn te vinden in abstracte klassen . Abstract methoden worden gedefinieerd met de 'abstract' trefwoord en bieden geen implementatie - ze declareren eenvoudig de handtekening van de methode. Deze abstracte methoden moeten worden geïmplementeerd door afgeleide klassen die zijn afgeleid van de abstracte klasse . Niet-abstract methoden bieden daarentegen een standaardimplementatie die afgeleide klassen kunnen negeren.



Laten we een voorbeeld bekijken:





abstract klas Mij {

abstract functie Over mij ( $naam , $ leeftijd ) ;

}

klas Inleiding strekt zich uit Mij {

functie Over mij ( $naam , $ leeftijd ) {

echo 'Mijn naam is $naam en mijn leeftijd is $ leeftijd ' ;

}

}

$ een = nieuw Inleiding ( ) ;

$ een -> Over mij ( 'Bob' , eenentwintig ) ;

?>

In de bovenstaande code is de abstracte methode in de abstracte bovenliggende klasse 'Ik' heeft twee argumenten, 'naam' en 'leeftijd'. Kindklasse 'Intro' definieert ook dezelfde functie met deze twee argumenten, en de intro-instructie wordt op het scherm afgedrukt.





Uitgang



Voordelen van abstracte klassen in PHP

1: Herbruikbaarheid van code

Abstracte lessen in PHP hebben een groot voordeel: ze stellen je in staat om code opnieuw te gebruiken. Door gedeeld gedrag te definiëren in een abstracte klasse , kunt u voorkomen dat code in veel verschillende subklassen wordt herhaald. Dit maakt het beheren en onderhouden van uw code eenvoudiger. Abstracte lessen helpt u ook bij het afdwingen van consistentie en standaarden in al uw subklassen.

2: Definieer abstracte eigenschappen

In PHP , hebben abstracte klassen een handige functie genaamd abstract eigenschappen. Met deze eigenschappen kunt u bepaalde vereisten voor subklassen instellen. Als u bijvoorbeeld een systeem voor dieren maakt, kunt u een abstracte eigenschap instellen met de naam $naam dat vereist dat elke subklasse een eigenschap name heeft. Dit kan ervoor zorgen dat uw code een consistente structuur heeft en het eenvoudiger te begrijpen en te onderhouden maken.

Conclusie

De mogelijkheid om een ​​set functies te ontwerpen die gedeeld kunnen worden door verschillende klassen maakt abstracte lessen handig voor ontwikkelaars. Dit leidt tot meer hergebruik van code en eenvoudiger onderhoud, aangezien alle wijzigingen die in een abstracte klasse worden aangebracht, automatisch van invloed zijn op alle klassen die ervan erven. Bij correct gebruik, abstracte lessen kan de structuur en organisatie van code in een objectgeoriënteerd project aanzienlijk verbeteren. Het is echter belangrijk om ze verstandig te gebruiken, aangezien overmatig gebruik ervan kan leiden tot te complexe en moeilijk te onderhouden code.