Apa Konstanta Kelas OOP di PHP?

Apa Konstanta Kelas Oop Di Php



Paradigma pemrograman yang dikenal sebagai pemrograman berorientasi objek (OOP) memungkinkan pengguna untuk menulis program modular dan dapat digunakan kembali. Konstan digunakan dalam kelas adalah salah satu fitur OOP. Konstanta Kelas dalam PHP adalah nilai yang tidak dapat diubah setelah ditentukan. Mereka adalah anggota kelas dan tidak terkait dengan instance kelas tertentu.

Apa itu Konstanta Kelas di PHP?

Memulai dengan, Konstanta Kelas merujuk ke nilai yang tetap konstan selama skrip. Dalam OOP, ini memungkinkan pemrogram untuk menentukan nilai yang memiliki arti khusus di dalam kelas dan tidak dapat diperbarui oleh salah satu metode kelas. Itu const kata kunci digunakan untuk menentukan konstanta kelas , yang diberi nilai konstan selama skrip.







A konstanta kelas adalah nilai yang didefinisikan dalam kelas yang tetap konstan selama eksekusi program. Syarat const digunakan untuk mendefinisikannya, lalu diikuti dengan nama dan nilai konstanta tersebut. Setelah ditentukan, mereka tidak dapat diubah selama runtime.



Misalnya, kita dapat mendefinisikan a konstanta kelas untuk nilai Pi dengan cara berikut:



Matematika kelas {
konstanta PI = 3.14 ;
}


Di sini, kami telah mendefinisikan konstanta kelas PI untuk kelas Matematika sebagai 3.14. Karena konstanta terikat ke kelas dan bukan turunan dari kelas, kita dapat mengaksesnya tanpa turunan seperti pada:





gema Matematika::PI;


Dibandingkan dengan variabel biasa, konstanta kelas memiliki beberapa perbedaan mencolok. Pertama, mereka tidak dapat diubah, artinya, mereka tidak dapat diubah setelah ditentukan. Kedua, nilai konstan bersifat case-sensitive, tidak seperti variabel di PHP. Selanjutnya, konstanta didefinisikan menggunakan const kata kunci, sedangkan variabel menggunakan the dulu kata kunci, yang merupakan perbedaan penting.

Mengakses Konstanta Kelas

Mengakses konstanta kelas dapat dilakukan dengan dua cara.



1: Menggunakan Resolusi Lingkup (::)

Pertama, konstanta kelas diakses menggunakan resolusi ruang lingkup (::) operator, seperti pada:

Nama Kelas::CONSTANT_NAME


Lihatlah sebuah contoh:

< ?php
Orang kelas {
nama const = 'Lari' ;
usia konstan = 32 ;
const Kewarganegaraan = 'Amerika' ;
}
gema Orang::Nama, ' \N ' ;
gema Tokoh, ' \N ' ;
gema Orang::Kewarganegaraan;
? >


Pada kode di atas, file Orang kelas menentukan Nama, Umur, dan Kebangsaan sebagai tiga konstanta . Setiap konstanta memiliki nilai string atau integer yang ditentukan untuknya.

Itu :: operator digunakan bersamaan dengan nama konstanta untuk mengakses nilai konstanta kelas. Misalnya, kami menggunakan sintaks Orang::Nama untuk mengambil nilai dari Nama konstan.

Terakhir, kami mencetak nilai konstanta Name, Age, dan Nationality di layar menggunakan perintah echo.

2: Menggunakan Kata Kunci 'diri sendiri'

Atau, kita juga dapat mengakses konstanta kelas dalam kelas itu sendiri menggunakan `diri` kata kunci diikuti dengan nama konstanta yang diberikan di bawah ini:

diri::CONSTANT_NAME


Lihat contoh untuk mengakses konstanta menggunakan diri sendiri kata kunci.

< ?php
Lingkaran kelas {
konstanta PI = 3.14159 ;
pribadi $radius ;
publik fungsi __membangun ( $radius ) {
$ini - > radius = $radius ;
}
publik fungsi Daerah ( ) {
kembali diri::PI * $ini - > radius * $ini - > radius;
}
}
$lingkaran = Lingkaran baru ( 16 ) ;
gema $lingkaran - > Daerah ( ) ;
? >


Dalam contoh di atas, kelas bernama Circle menentukan properti pribadi yang disebut $radius dan konstanta yang disebut PI. Formula yang digunakan oleh getArea() fungsi untuk mencari luas lingkaran adalah PI * radius * radius , dengan PI adalah nilai konstanta PI dan radius adalah nilai dari parameter $radius.

Dalam getArea() metode, kami menggunakan diri sendiri kata kunci diikuti dengan nama konstanta untuk mendapatkan nilai konstanta PI: diri::PI .


Ada beberapa pertimbangan yang perlu diingat saat mendefinisikan konstanta kelas . Pertama, pastikan nama konstanta kelas unik di dalam kelas. Kedua, ia harus mematuhi konvensi penamaan yang sama dengan nama kelas, yaitu menggunakan Camel Case untuk konstanta. Akhirnya, merupakan praktik yang baik untuk mendefinisikan hanya nilai skalar, seperti bilangan bulat dan string, seperti konstanta kelas .

Pewarisan Konstanta Kelas

Fitur penting lainnya dari konstanta kelas adalah bahwa mereka dapat diwarisi oleh kelas anak. Pada intinya, sebuah subclass dapat mengakses nilai konstanta yang ditentukan oleh kelas induknya dengan menggunakan fungsi induk kata kunci. Misalnya:

< ?php
kelas Hewan {
konstanta ANIMAL_TYPE = 'mamalia' ;
}
kelas Anjing meluas Hewan {
publik fungsi getType ( ) {
gema 'Anjing adalah' , induk::ANIMAL_TYPE;
}
}
$anjing = Anjing baru ( ) ;
$anjing - > getType ( ) ;
? >


Dalam ilustrasi ini, kelas Hewan memiliki konstanta dengan nilai “ mamalia ' bernama ANIMAL_TYPE . Itu Anjing adalah subclass yang berasal dari kelas Hewan.

Fungsi publik getType() dari kelas Dog hanya mengeluarkan nilai dari A NIMAL_TYPE konstanta dengan mengakses konstanta kelas induk menggunakan induk::kata kunci .

Akhirnya, kami membuat objek kelas Anjing dan menggunakan getType() fungsi, yang mengembalikan nilai konstanta warisan kelas Hewan ANIMAL_TYPE .

Kesimpulan

Penggunaan konstanta kelas adalah komponen kunci Pemrograman Berorientasi Objek dalam PHP dan bahasa pemrograman lainnya . Dengan menggunakan konstanta kelas , kita dapat menghindari nilai hard-code dalam program, yang dapat merepotkan saat memperbarui kode. Penting untuk mematuhi konvensi penamaan dan mengingat aksesibilitas konstanta kelas dalam program saat mendefinisikannya.