Tutorial Belajar OOP PHP Part 12: Pengertian Static Property dan Static Method

Posted on

Pada lanjutan panduan belajar OOP PHP kali ini, kita akan mempelajari mengenai Pengertian Static Property dan Static Method pada Pemrograman Objek, kemudian kita akan melihat cara penggunaannya di pada PHP.


Pengertian Static Property dan Static Method

Jikalau di awal panduan Pemrograman objek PHP ini saya menjelaskan bahwa seluruh property dan method hanya dapat diakses dari objek, karenanya static property dan static method yaitu pengecualiannya.

Static property dan static method yaitu property (variabel) dan method (function) yang melekat kepada class, bukan kepada objek. Konsep static property memang ‘agak keluar’ dari konsep objek selaku tempat mengerjakan proses, karena sesungguhnya class hanya adalah sebuah ‘blueprint’ saja.

Bagi merancang static property dan static method, kita menambahkan keyword ‘static’ setelah penulisan akses level property atau method, seperti contoh berikut:

Pada contoh diatas, saya menggunakan hak akses public, tetapi kita pun dapat menggunakan hak akses lain seperti private dan protected bagi static property dan static method.

Karena static property dan static method yaitu milik class, karenanya kita tak perlu merancang objek bagi mengaksesnya, tapi seketika menyebutkan nama class dan menggunakan operator ‘::’, berikut yaitu contoh pengaksesan static property dan static method dari class laptop:


Panduan Cara Pemakaian Static Property dan Static Method

Agar lebih memahami cara pemakaian static property dan static method, seketika saja kita masuk ke pada kode program:

Pada kode diatas, saya merancang class laptop dengan 2 property ‘lazim’, 1 static property dan 1 static method. Perhatikan cara mengkases keduanya tanpa merancang objek.


Cara Mengakses Static Property dan Static Method Dari Class Itu Sendiri

Jikalau kita menggunakan variabel $this bagi mengakses property dan method ‘normal’ dari pada class, karenanya bagi mengakses static property dan static method, kita menggunakan keyword “self::”. Berikut contoh penggunaannya:

Di kode program PHP diatas, saya menggunakan command self::$harga_beli, bagi memanggil static property dari pada class laptop itu sendiri.


Cara Mengakses Static Property dan Static Method Parent Class

Bagi class dengan penurunan (inheritance), kita dapat menggunakan keyword parent::nama_property dan parent::nama_method bagi mengakses static property dan static method dari parent class.

Misalnya class laptop yaitu turunan dari class komputer, kita dapat menggunakan command parent::beli_komputer() bagi mengakses static method di class komputer dari pada class laptop.

Berikut yaitu contoh pengaksesan static method milik parent class:

Di kode diatas, saya merancang class komputer dengan sebuah static method beli_komputer(). Method ini mempunyai hak akses protected, sehingga hanya dapat diakses dari pada class itu sendiri atau dari pada class turunan.

Class komputer kemudian ‘diturunkan’ kepada class laptop. Di pada class laptop, saya merancang dua buah static method. Static method beli_laptop() di set dengan hak akses private, sehingga tak dapat diakses dari luar class laptop.

Pada method beli_semua(), saya memanggil method beli_komputer() milik class komputer menggunakan command parent::beli_komputer(). Ini yaitu cara pemanggilan static method milik parent class. Kemudian masih di pada method beli_semua(), saya memanggil method beli_laptop() dengan command self::beli_laptop(), karena method ini ada di pada class leptop itu sendiri.

Bagi menguji apakah method beli_semua() sukses dijalankan, saya kemudian memanggilnya dengan command laptop::beli_semua().

Perhatikan pun di bagian komentar di ahir kode diatas. Jikalau kita mencoba memanggil method laptop::beli_laptop(), PHP akan mengeluarkan error karena method beli_laptop() mempunyai hak akses private, sehingga tak dapat diakses dari luar class.


Pada merancang program dengan objek, pemakaian static property (dan pun static method) sebaiknya dibatasi, karena static method cenderung susah dideteksi seandainya terjadi kesalahan. Namun konsep property
dan method yang melekat kepada class ini banyak pun digunakan bagi merancang design pattern. Pun di pada framework PHP seperti laravel, static method adalah sebuah mekanisme utama bagi menjalankan sebahagian besar kode program.

Pada panduan berikutnya, kita akan mempelajari pengertian konstanta class dalam pemrograman objek.


Sumber https://www.duniailkom.com/