Hva er OOP-klassekonstanter i PHP?

Hva Er Oop Klassekonstanter I Php



Et programmeringsparadigme kjent som objektorientert programmering (OOP) gjør det mulig for brukere å skrive modulære, gjenbrukbare programmer. Konstant bruk innenfor en klasse er en av funksjonene til OOP. Klassekonstanter i PHP er verdier som ikke kan endres etter at de er spesifisert. De er medlemmer av klassen og er ikke knyttet til noen spesifikk klasseforekomst.

Hva er klassekonstanter i PHP?

Til å begynne med, Klassekonstanter refererer til en verdi som forblir konstant i løpet av et skript. I OOP lar det programmereren definere en verdi som har en spesifikk betydning i klassen og som ikke kan oppdateres av noen av klassemetodene. De konst nøkkelord brukes til å spesifisere klassekonstanter , som gis en konstant verdi i løpet av skriptet.







EN klassekonstant er en verdi definert innenfor en klasse som forblir konstant under gjennomføringen av programmet. Begrepet konst brukes til å definere dem, deretter etterfulgt av navnet og verdien til den konstanten. Når de er definert, kan de ikke endres under kjøring.



For eksempel kan vi definere en klassekonstant for verdien av Pi på følgende måte:



klasse matte {
const PI = 3.14 ;
}


Her har vi definert klasse konstant PI for matteklassen som 3.14. Siden en konstant er knyttet til klassen og ikke en forekomst av en klasse, kan vi få tilgang til den uten en forekomst som i:





ekko Math::PI;


Sammenlignet med vanlige variabler, klassekonstanter har noen få bemerkelsesverdige forskjeller. For det første er de uforanderlige, noe som betyr at de ikke kan endres når de er definert. For det andre, konstante verdier er store og små bokstaver, i motsetning til variabler i PHP. Videre er konstanter definert ved hjelp av konst nøkkelord, mens variabler bruker var nøkkelord, som er et viktig skille.

Få tilgang til klassekonstanter

Tilgang klassekonstanter kan gjøres på to måter.



1: Bruke omfangsoppløsning (::)

For det første klassekonstanter nås ved hjelp av omfangsoppløsning (::) operatør, som i:

Klassenavn::CONSTANT_NAME


Se på et eksempel:

< ?php
klasse Person {
const Navn = 'Larry' ;
const Alder = 32 ;
const Nasjonalitet = 'Amerikansk' ;
}
ekko Person::Navn, ' \n ' ;
ekko Person::Alder, ' \n ' ;
ekko Person::Nasjonalitet;
? >


I koden ovenfor er det Person klasse spesifiserer navn, alder og nasjonalitet som tre konstanter . Hver konstant har en streng eller heltallsverdi definert for seg.

De :: operator brukes sammen med konstantens navn for å få tilgang til verdien av en klassekonstant. For eksempel bruker vi syntaksen Person::Navn for å hente verdien av Navn konstant.

Til slutt skriver vi ut verdiene til konstantene for navn, alder og nasjonalitet på skjermen ved å bruke ekko-kommandoen.

2: Bruke «selv»-nøkkelordet

Alternativt kan vi også få tilgang til klassekonstanter i klassen selv ved å bruke `selv` nøkkelord etterfulgt av konstantnavnet gitt nedenfor:

selv::CONSTANT_NAME


Se på et eksempel for å få tilgang til en konstant ved å bruke selv- nøkkelord.

< ?php
klassesirkel {
const PI = 3,14159 ;
privat $radius ;
offentlig funksjon __konstruere ( $radius ) {
$dette - > radius = $radius ;
}
offentlig funksjon Område ( ) {
komme tilbake selv::PI * $dette - > radius * $dette - > radius;
}
}
$sirkel = ny sirkel ( 16 ) ;
ekko $sirkel - > Område ( ) ;
? >


I dette eksemplet ovenfor spesifiserer en klasse kalt Circle en privat egenskap kalt $radius og en konstant kalt PI. Formelen som brukes av getArea() funksjon for å få arealet av en sirkel er PI * radius * radius , der PI er PI-konstantens verdi og radius er verdien til $radius-parameteren.

Innen getArea() metoden bruker vi selv- nøkkelord etterfulgt av navnet på konstanten for å få verdien av PI-konstanten: selv::PI .


Det er noen få hensyn å huske på når du definerer klassekonstanter . Først må du sørge for at navnet på klassekonstanten er unikt i klassen. For det andre bør den følge de samme navnekonvensjonene som klassenavn, det vil si å bruke Camel Case for konstanter. Til slutt er det en god praksis å definere bare skalarverdier, som heltall og strenger, som klassekonstanter .

Arv av klassekonstanter

Et annet viktig trekk ved klassekonstanter er at de kan arves av barneklasser. I hovedsak kan en underklasse få tilgang til konstantverdiene definert av dens overordnede klasse ved å bruke forelder nøkkelord. For eksempel:

< ?php
klasse Dyr {
const ANIMAL_TYPE = 'pattedyr' ;
}
klasse Hund forlenger Dyr {
offentlig funksjon getType ( ) {
ekko 'Hund er en' , overordnet::ANIMAL_TYPE;
}
}
$hund = ny hund ( ) ;
$hund - > getType ( ) ;
? >


I denne illustrasjonen har klassen Dyr en konstant med verdien ' pattedyr ' navngitt ANIMAL_TYPE . De Hund er en underklasse som stammer fra dyreklassen.

Den offentlige funksjonen getType() av Dog-klassen gir ganske enkelt ut verdien av EN NIMAL_TYPE konstant ved å få tilgang til foreldreklassens konstant ved å bruke forelder::søkeord .

Til slutt konstruerer vi et Dog-klasseobjekt og bruker getType() funksjon, som returnerer verdien av dyreklassens arvede konstant ANIMAL_TYPE .

Konklusjon

Bruken av klassekonstanter er en nøkkelkomponent i objektorientert programmering i PHP og andre programmeringsspråk . Ved bruk av klassekonstanter , kan vi unngå hardkodede verdier i programmet, noe som kan være et problem mens du oppdaterer koden. Det er viktig å følge navnekonvensjonene og huske på tilgjengeligheten til klassekonstanter i programmet mens du definerer dem.