Hva er en abstrakt klasse?
For det første er det viktig å forstå hva en abstrakt klasse er i PHP. En klasse som ikke kan bli instantiert, eller gjøres direkte til et objekt, sies å være abstrakt. I stedet bruker andre klasser som arver fra den som en base eller foreldreklasse. Abstrakte klasser ikke gi spesifikk implementering av de avledede klassene; snarere skisserer de strukturen og atferden. Dette gjør at avledede klasser kan opprettholde sin egen særegne oppførsel mens de fremdeles holder seg til de grunnleggende rammene som er gitt av den abstrakte klassen.
Som en del av PHP's Oop, abstrakte klasser tjene som et middel til å definere en baseinnsamling av egenskaper som kan deles av flere avledede klasser. Utviklere kan gi en mal for klasser som vil arve fra en abstrakt klasse ved å lage den. For å sikre at alle avledede klasser samsvarer med det samme grensesnittet, fungerer denne blåkopien som en kontrakt mellom abstrakt klasse og de avledede klassene. Implementeringsbehandlingen blir overlatt til hver underklasse, men dette grensesnittet spesifiserer de vanlige metodene som er nødvendige for alle underklasser. Endringer som er gjort i den abstrakte klassen vil øyeblikkelig forplante seg til alle avledede klasser som bruker den, noe som gir mer bruk av kode og enklere vedlikehold.
Hvordan fungerer abstrakte klasser i PHP?
Når “Abstrakt” nøkkelord brukes til å definere en klasse, PHP blir informert om at klassen ikke kan bli instantiert. Både abstrakt og Ikke-abstrakt Metoder finnes i abstrakte klasser. Abstrakt Metoder er definert med "abstrakt" nøkkelord og ikke gi en implementering - de erklærer ganske enkelt metodesignaturen. Disse abstrakte metodene må implementeres av avledede klasser som stammer fra abstrakt klasse. Ikke-abstrakt Metoder gir derimot en standard implementering som avledede klasser kan velge å overstyre.
La oss se på et eksempel:
abstrakt klasse megI koden ovenfor, abstrakt metode i Abstrakt foreldreklasse 'Me' har to argumenter, 'navn' og 'alder'. Child Class 'Intro' definerer også den samme funksjonen med disse to argumentene, og introerklæringen er skrevet ut på skjermen.
Produksjon
Fordeler med abstrakte klasser i PHP
1: Kode gjenbrukbarhet
Abstrakte klasser I PHP har en stor fordel: de lar deg bruke kode på nytt. Ved å definere delt oppførsel i en abstrakt klasse, Du kan unngå å gjenta kode i mange forskjellige underklasser. Dette gjør det enklere å håndtere og opprettholde koden. Abstrakte klasser Hjelp deg også å håndheve konsistens og standarder på tvers av alle underklassene dine.
2: Definer abstrakte egenskaper
I PHP, Abstrakte klasser har en nyttig funksjon som heter abstrakt egenskaper. Disse egenskapene lar deg stille visse krav til underklasser. For eksempel, hvis du lager et system for dyr, kan du sette en abstrakt egenskap som heter $ navn som krever at hver underklasse har en navnegenskap. Dette kan bidra til at koden din har en jevn struktur og gjør den enklere å forstå og vedlikeholde.
Konklusjon
Muligheten til å designe et sett med funksjoner som kan deles av flere klasser gjør abstrakte klasser nyttig for utviklere. Dette fører til mer gjenbruk av kode og enklere vedlikehold siden eventuelle endringer som gjøres i en abstrakt klasse automatisk påvirker alle klasser som arver fra den. Når det brukes riktig, abstrakte klasser kan forbedre strukturen og organiseringen av kode betydelig i et objektorientert prosjekt. Imidlertid er det viktig å bruke dem med omtanke siden overforbruk av dem kan føre til altfor sammensatt og vanskelig å vedlikeholde kode.