Anda di halaman 1dari 4

KONSEP STATIC PADA OOP

Sebuah Property dan Method dapat didefinisikan menjadi statis menggunakan keyword
‘static’. Statis maksudnya adalah nilai pada property dan method tersebut selalu tetap dan
tidak berubah-ubah.
Perhatikan contoh berikut ini:

1. <?php
2. class Kendaraan{
3. public static $RODA = 4;
4. public static function maju(){
5. echo 'Kendaraan sedang bergerak maju';
6. }
7.
8. public static function mundur(){
9. echo 'Kendaraan sedang bergerak mundur';
10. }
11. }
12.
13. echo Kendaraan::$RODA;
14. echo PHP_EOL;
15. echo Kendaraan::maju();
16. echo PHP_EOL;
17. echo Kendaraan::mundur();
18. echo PHP_EOL;
19. ?>
20.

Simpan script tersebut di C:\XAMPP\PHP dengan nama: Kendaraan.php. Apabila script


tersebut dijalankan akan menampilkan output seperti gambar berikut ini:

Untuk mengakses property atau method static pada lingkup class kita dapat menggunakan 3
cara yaitu: dengan memakai nama class, memakai keyword 'self', dan menggunakan keyword
'static'. Perhatikan contoh berikut:
1. <?php
2. class Kambing{
3. public static $KAKI = 4;
4.
5. public function kaki1() {
6. echo Kambing::$KAKI;
7. }
8.
9. public function kaki2() {
10. echo self::$KAKI;
11. }
12.
13. public function kaki3() {
14. echo static::$KAKI;
15. }
16. }
17.
18. $wedus = new Kambing();
19. echo $wedus->kaki1();
20. echo PHP_EOL;
21. echo $wedus->kaki2();
22. echo PHP_EOL;
23. echo $wedus->kaki3();
24. echo PHP_EOL;
25. ?>
26.

Simpan script tersebut di C:\XAMPP\PHP dengan nama: Kambing.php. Apabila script tersebut
dijalankan akan menampilkan output seperti gambar berikut ini:

Output dari method kaki1(), kaki2(), maupun kaki3() akan sama yaitu 4.
KONSTANTA
Konstanta adalah sebuah nilai yang tidak berubah dan telah ditetapkan nilainya dari sejak
awal. Contoh konstanta adalah PI yang nilainya 3.14 ada juga gaya gravitasi yang nilainya 9.8.
Tidak jauh berbeda dengan konsep diatas, pada OOP konstanta adalah sebuah nilai yang tidak
dapat dirubah selama proses runtime.
Untuk mendefinisikan sebuah konstanta kita menggunakan keyword ‘const’ dan untuk
mengakses konstanta didalam class kita menggunakan keyword ‘self’ dan diluar class kita
menggunakan nama class. Perhatikan contoh berikut:

1. <?php
2. class Lingkaran {
3. public const PI = 3.14;
4. public function luas($jari) {
5. echo self::PI * $jari * $jari;
6. }
7. }
8.
9. $lingkaran = new Lingkaran();
10. echo Lingkaran::PI;
11. echo PHP_EOL;
12. $lingkaran->luas(10);
13. echo PHP_EOL;
14. ?>
15.

Simpan script tersebut di C:\XAMPP\PHP dengan nama: Lingkaran.php. Apabila script


tersebut dijalankan akan menampilkan output seperti gambar berikut ini:

RETURN VALUE
Dalam OOP, return value adalah sebuah nilai yang dikembalikan oleh sebuah method ketika
method tersebut dipanggil. Tipe data dari return value tidak harus sama dengan tipe data
yang dimasukkan melalui parameter. Bahkan ketika sebuah method tidak memiliki parameter
sekalipun, method tersebut tetap dapat mengembalikan return value.
Untuk membuat sebuah method dapat mengembalikan sebuah nilai kita menggunakan
keyword return. Perhatikan kembali contoh class Lingkaran yang sudah pernah kita buat
berikut ini:

1. <?php
2. class Lingkaran {
3. public const PI = 3.14;
4. public function luas($jari) {
5. echo self::PI * $jari * $jari;
6. }
7. }
8.
9. $lingkaran = new Lingkaran();
10. echo Lingkaran::PI;
11. echo PHP_EOL;
12. $lingkaran->luas(10);
13. echo PHP_EOL;
14. ?>
15.

Pada class Lingkaran diatas, method luas() langsung mengeluarkan output berupa hasil dari
perkalian rumus luas lingkaran. Bila kita hendak mengubah agar method luas() tersebut
mengembalikan return value maka kita harus mengganti echo dengan keyword return seperti
contoh dibawah ini:

1. <?php
2. class Lingkaran{
3. const PI = 3.14;
4. public function luas($jari){
5. return self::PI * $jari * $jari;
6. }
7. }
8.
9. $lingkaran = new Lingkaran();
10. $luas = $lingkaran->luas(70);
11. echo $luas;
12. echo PHP_EOL;
13. ?>
14.

Modifikasilah file Lingkaran.php menjadi seperti script di atas, simpan dan jalankan. Pada
script di atas menunjukkan bahwa return value dapat dimasukkan ke dalam nilai variable,
yaitu pada baris $luas = $lingkaran->luas(70);

Anda mungkin juga menyukai