Banyak ide berorientasi objek telah ditambahkan ke PHP5. Ide berorientasi objek PHP5 lebih dekat dengan ide berorientasi objek di Java. Disini kami akan menjelaskan fungsi kata kunci static dan const di PHP5, semoga dapat membantu teman-teman yang sedang belajar PHP5.
(1) statis
Kata kunci statis dalam suatu kelas menjelaskan bahwa suatu anggota bersifat statis. Statis dapat membatasi akses eksternal, karena anggota setelah statis adalah milik kelas tersebut dan bukan milik instance objek apa pun. Mereka tidak dapat diakses oleh kelas lain dan hanya dapat diakses oleh kelas tersebut . Berbagi instans dapat memastikan bahwa program sepenuhnya melindungi anggota. Variabel statis suatu kelas sangat mirip dengan variabel global dan dapat digunakan bersama oleh semua instance kelas. Hal yang sama berlaku untuk metode statis suatu kelas, mirip dengan fungsi global. Metode statis suatu kelas dapat mengakses properti statis kelas tersebut. Selain itu, anggota statis harus diakses menggunakan self.
(Untuk persamaan dan perbedaan antara ini dan diri, silakan merujuk ke: http://blog.csdn.net/heiyeshuwu/archive/2004/11/03/165828.aspx )
(2) konst
const adalah kata kunci yang mendefinisikan sebuah konstanta, mirip dengan #define di C. Kata kunci ini dapat mendefinisikan sebuah konstanta. Jika nilainya diubah dalam program, kesalahan akan terjadi.
Berikan contoh kode di atas: (Catatan: Kode berikut berasal dari phpe.net)
<?php
class Counter
{
private static $count = 0;//Tentukan properti statis
const VERSION = 2.0;//Definisikan konstanta
//Constructor
fungsi__konstruksi()
{
diri::$hitung++;
}
//destruktor
fungsi __menghancurkan()
{
diri::$hitungan--;
}
//Definisikan metode statis
fungsi statis getCount()
{
kembalikan diri::$hitungan;
}
}
//Buat sebuah instance
$c = new Counter();
//Lakukan pencetakan
print( Counter::getCount(). "<br>n" ); //Gunakan input langsung nama kelas untuk mengakses metode statis Counter::getCount
//Cetak versi kelas
print( "Versi yang digunakan: " .Counter::VERSION. "<br>n"
?>
Baiklah, pada dasarnya pada titik ini, saya telah memperjelas apa yang saya ketahui di dalam hati, tetapi saya merasa bahwa saya masih tetap sedikit tidak nyaman dengan statis. Saya mengerti, tolong beri saya panduan!
Email saya: [email protected]
WriteTime 3-11-2004 21:00
http://dev.csdn.net/author/heiyeshuwu/23f0d08c11bc4509b41844855d5c7063.html