Mik azok az OOP osztálykonstansok a PHP-ben?

Mik Azok Az Oop Osztalykonstansok A Php Ben



Az úgynevezett programozási paradigma objektum-orientált programozás (OOP) lehetővé teszi a felhasználók számára, hogy moduláris, újrafelhasználható programokat írjanak. Állandó osztályon belüli használat az OOP egyik jellemzője. Osztálykonstansok PHP-ben olyan értékek, amelyek megadása után nem módosíthatók. Ezek az osztály tagjai, és nem kapcsolódnak egyetlen osztálypéldányhoz sem.

Mik azok az osztálykonstansok a PHP-ben?

Mindenekelőtt, Osztálykonstansok olyan értékre utal, amely állandó marad a szkript során. Az OOP-ban lehetővé teszi a programozó számára, hogy olyan értéket definiáljon, amelynek az osztályon belül meghatározott jelentése van, és amelyet egyik osztálymetódus sem frissíthet. A const kulcsszót használjuk a megadáshoz osztálykonstansok , amelyek állandó értéket kapnak a szkript során.







A osztály állandó egy osztályon belül meghatározott érték, amely állandó marad a program végrehajtása során. A kifejezés const definiálására szolgál, majd ezt követi az adott állandó neve és értéke. Miután meghatározták, futás közben nem módosíthatók.



Például meghatározhatjuk a osztály állandó Pi értékére a következő módon:



osztály matematika {
const PI = 3.14 ;
}


Itt definiáltuk a osztály állandó PI a matek órára 3.14-ként. Mivel egy konstans az osztályhoz van kötve, és nem egy osztály példányához, példány nélkül is hozzáférhetünk, például:





visszhang Matek::PI;


A normál változókhoz képest osztálykonstansok van néhány jelentős különbség. Először is, megváltoztathatatlanok, vagyis nem módosíthatók, ha egyszer meghatározták őket. Másodszor, állandó értékeket érzékenyek a kis- és nagybetűkre, ellentétben a PHP változóival. Továbbá a konstansokat a const kulcsszó, míg a változók a volt kulcsszó, ami fontos megkülönböztetés.

Az osztálykonstansok elérése

Hozzáférés osztálykonstansok kétféleképpen lehet megtenni.



1: Scope felbontás használata (::)

Először is a osztálykonstansok segítségével lehet elérni hatókör felbontás (::) operátor, mint itt:

Osztálynév::CONSTANT_NAME


Nézz egy példát:

< ?php
osztály Személy {
const Név = 'Larry' ;
const Kor = 32 ;
const Nemzetiség = 'Amerikai' ;
}
visszhang Személy::Név, ' \n ' ;
visszhang Személyiség, ' \n ' ;
visszhang Személy:: Állampolgárság;
? >


A fenti kódban a Személy osztály a Név, Életkor és Nemzetiség értéket háromként adja meg állandók . Minden konstanshoz van egy karakterlánc vagy egész érték definiálva.

A :: operátort az állandó nevével együtt használjuk az osztálykonstans értékének eléréséhez. Például a szintaxist használjuk Személy::Név lekérni az értékét Név állandó.

Végül az echo paranccsal kiírjuk a képernyőre a Név, Életkor és Nemzetiség állandó értékeit.

2: Az „én” kulcsszó használata

Alternatív megoldásként elérhetjük a osztálykonstansok magában az osztályban a 'önmagam'. kulcsszó után az alábbiakban megadott állandó név:

self::CONSTANT_NAME


Nézzen meg egy példát egy állandó eléréséhez a maga kulcsszó.

< ?php
osztályos Kör {
const PI = 3.14159 ;
magán $sugár ;
nyilvános funkció __construct ( $sugár ) {
$ezt - > sugár = $sugár ;
}
nyilvános funkció Terület ( ) {
Visszatérés én::PI * $ezt - > sugár * $ezt - > sugár;
}
}
$kör = új Kör ( 16 ) ;
visszhang $kör - > Terület ( ) ;
? >


Ebben a fenti példában a Circle nevű osztály egy $sugár nevű magántulajdont és egy PI nevű állandót határoz meg. által használt képlet a getArea() függvény a kör területének kiszámításához PI * sugár * sugár , ahol PI a PI állandó értéke, a sugár pedig a $radius paraméter értéke.

Belül getArea() módszert alkalmazzuk a maga kulcsszó, majd az állandó neve, hogy megkapjuk a PI állandó értékét: én::PI .


A meghatározás során néhány szempontot figyelembe kell venni osztálykonstansok . Először is győződjön meg arról, hogy az osztálykonstans neve egyedi az osztályon belül. Másodszor, ugyanazokat az elnevezési szabályokat kell követnie, mint az osztályneveknek, vagyis a Camel Case-t használja az állandókhoz. Végül jó gyakorlat, ha csak skaláris értékeket határoz meg, például egész számokat és karakterláncokat, mint pl. osztálykonstansok .

Az osztálykonstansok öröklődése

Egy másik fontos jellemzője osztálykonstansok az, hogy a gyermekosztályok örökölhetik őket. Lényegében egy alosztály hozzáférhet a szülőosztálya által meghatározott konstans értékekhez a segítségével szülő kulcsszó. Például:

< ?php
osztály Állat {
const ANIMAL_TYPE = 'emlős' ;
}
osztály Kutya kiterjeszti Állat {
nyilvános funkció getType ( ) {
visszhang 'A kutya egy' , szülő::ANIMAL_TYPE;
}
}
$kutya = új kutya ( ) ;
$kutya - > getType ( ) ;
? >


Ezen az ábrán az Állat osztálynak van egy állandója ' emlős ' nevezett ANIMAL_TYPE . A Kutya egy alosztály, amely az Animal osztályból származik.

A nyilvános funkció getType() a Dog osztályból egyszerűen kiadja az értékét A NIMAL_TYPE konstans a szülőosztály állandójának elérésével a szülő::kulcsszó .

Végül összeállítunk egy Dog osztály objektumot, és használjuk a getType() függvény, amely visszaadja az Animal osztály örökölt állandójának értékét ANIMAL_TYPE .

Következtetés

A ... haszna osztálykonstansok a PHP és más programozási nyelvek objektum-orientált programozásának kulcsfontosságú összetevője . Használva osztálykonstansok , elkerülhetjük a programban a keményen kódolt értékeket, ami gondot okozhat a kód frissítése során. Fontos az elnevezési konvenciók betartása, és az osztálykonstansok programon belüli elérhetőségét szem előtt tartani azok meghatározásakor.