PHP - Properti Statik

Hai teman-teman, para pemula pemrograman! Hari ini, kita akan melihat dunia menarik properti statik di PHP. Jangan khawatir jika Anda baru saja memulai pemrograman - saya akan mengarahkan Anda di setiap langkah dengan kesabaran yang sama seperti yang saya gunakan di kelas selama tahun. Ayo mulai!

PHP - Static Properties

Apa Itu Properti Statik?

Sebelum kita masuk ke kode, mari kita pahami apa itu properti statik. Bayangkan Anda berada di kelas (seperti kelas saya!), dan ada papan tulis putih yang bisa dilihat dan ditulis oleh semua. Properti statik seperti papan tulis putih itu - itu milik kelas itu sendiri, bukan milik siswa mana pun (atau objek, dalam istilah pemrograman).

Karakteristik Utama Properti Statik:

  1. Mereka disembagi oleh semua instance kelas.
  2. Mereka dapat diakses tanpa membuat objek kelas.
  3. Mereka dideklarasikan menggunakan kata kunci static.

Sekarang, mari kita lihat bagaimana ini bekerja dalam praktek!

Contoh Properti Statik

mari buat kelas sederhana yang disebut Counter untuk menunjukkan properti statik:

class Counter {
public static $count = 0;

public function increment() {
self::$count++;
}

public static function getCount() {
return self::$count;
}
}

mariuraikan ini:

  1. Kita mendeklarasikan properti statik $count dan inisialisasikan nilainya ke 0.
  2. Metode increment() meningkatkan hitungan sebesar 1.
  3. Metode getCount() mengembalikan hitungan saat ini.

Sekarang, mari kita gunakan kelas ini:

echo Counter::$count; // Keluaran: 0

$counter1 = new Counter();
$counter1->increment();
echo Counter::$count; // Keluaran: 1

$counter2 = new Counter();
$counter2->increment();
echo Counter::$count; // Keluaran: 2

echo Counter::getCount(); // Keluaran: 2

Apakah itu menarik? Tidak matter berapa banyak objek Counter kita buat, mereka semua berbagi $count yang sama. Itu seperti semua siswa di kelas saya berbagi satu penghitung papan tulis!

Kata Kunci "self"

Anda mungkin sudah mendengar bahwa kita menggunakan self::$count di kelas kita. Kata kunci self seperti mengatakan "kelas ini" - itu merujuk ke kelas saat ini. Itu sangat berguna untuk properti dan metode statik.

mari perluas kelas Counter untuk melihat penggunaan lain self:

class Counter {
public static $count = 0;
private static $secretCount = 100;

public function increment() {
self::$count++;
self::incrementSecretCount();
}

private static function incrementSecretCount() {
self::$secretCount++;
}

public static function getSecretCount() {
return self::$secretCount;
}
}

Di sini, kita menambahkan $secretCount yang privat (shh, itu rahasia!). Kita menggunakan self untuk mengakses kedua properti dan metode statik dalam kelas.

Kata Kunci "parent"

Sekarang, mari bicara tentang pewarisan dan kata kunci parent. Bayangkan Anda belajar memasak dari orang tua Anda. Anda mungkin menggunakan beberapa resep (metode pewarisan) tetapi menambahkan twist Anda sendiri. Dalam PHP, parent memungkinkan Anda mengakses metode dan properti dari kelas induk.

mari buat SuperCounter yang mengembangkan Counter kita:

class SuperCounter extends Counter {
public function superIncrement() {
parent::increment();
parent::increment();
self::$count++; // Kita masih bisa menggunakan self untuk properti statik yang diwarisi
}
}

Menggunakan SuperCounter kita:

$superCounter = new SuperCounter();
$superCounter->superIncrement();
echo SuperCounter::$count; // Keluaran: 3

Metode superIncrement() memanggil increment() induk dua kali dan kemudian meningkatkan sekali lagi, menghasilkan peningkatan total 3.

Tabel Metode Statik

mari rangkum metode yang berhubungan dengan statik yang kita lihat dalam tabel praktis:

Metode Deskripsi
self::$property Mengakses properti statik dalam kelas yang sama
self::method() Memanggil metode statik dalam kelas yang sama
ClassName::$property Mengakses properti statik dari luar kelas
ClassName::method() Memanggil metode statik dari luar kelas
parent::method() Memanggil metode kelas induk dalam kelas anak

Kesimpulan

Dan begitulah, teman-teman! Kita telah mengeksplorasi dunia properti statik di PHP, dari penggunaan dasar hingga pewarisan. Ingat, properti statik seperti papan tulis putih kelas - disembagi oleh semua dan dapat diakses oleh siapa saja yang tahu nama kelas.

Seperti dengan semua alat dalam pemrograman, gunakan properti statik bijaksana. Mereka sangat cocok untuk penghitung, pengaturan konfigurasi, atau data apa pun yang harus disembagi di antara semua instance kelas. Tetapi penggunaan yang berlebihan bisa membuat kode yang sulit untuk dikelola dan diuji.

Tetap berlatih, dan segera Anda akan menggunakan properti statik seperti seorang ahli! Dan ingat, dalam pemrograman seperti di kelas saya, tidak ada pertanyaan yang bodoh - hanya kesempatan untuk belajar. Selamat coding!

Credits: Image by storyset