0% menganggap dokumen ini bermanfaat (0 suara)
151 tayangan24 halaman

Static Property Method

Static property dan static method adalah properti dan metode yang melekat pada kelas bukan objek. Abstract class digunakan sebagai kerangka dasar untuk kelas turunan dan harus mengimplementasikan metode abstrak. Final class dan metode tidak dapat diturunkan atau didefinisikan ulang.

Diunggah oleh

Soniya Vandorez
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
151 tayangan24 halaman

Static Property Method

Static property dan static method adalah properti dan metode yang melekat pada kelas bukan objek. Abstract class digunakan sebagai kerangka dasar untuk kelas turunan dan harus mengimplementasikan metode abstrak. Final class dan metode tidak dapat diturunkan atau didefinisikan ulang.

Diunggah oleh

Soniya Vandorez
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 24

Mahasiswa diharapkan dapat mengetahui, memahami dan

mengimplementasikan ke dalam bentuk kode PHP, mengenai:


▪ Static Property dan static Method
▪ Konstanta Class
▪ Abstract Class & Abstract Method
▪ Final Class & Final Method
PROPERTY METHOD
Jika di awal pertemuan dulu sempat dibahas bahwa
seluruh property dan method bisa diakses dari objek, maka static
property dan static method adalah pengecualiannya.

Static property dan static method adalah property (variabel)


dan method (function) yang melekat kepada class, bukan kepada
objek.

Untuk membuat static property dan static method, harus


menambahkan keyword ‘static’ setelah penulisan akses level property
atau method
PROPERTY METHOD
<?php

class nama_class {
// contoh static property
public static $nama_property;

// contoh static method


public static function nama_method() {
// isi method
// ...
}
}

?>
PROPERTY METHOD

Karena static property dan static method adalah milik class, maka
tidak perlu membuat objek untuk mengaksesnya, tapi langsung
menyebutkan nama class dan menggunakan operator ‘::’
Perhatikan & coba contoh berikut...
<?php
// buat class laptop
class laptop {
// static property
public static $harga_beli;
//static method
public static function beli_laptop() {
return "Beli Laptop";
}
}
// set static property
laptop::$harga_beli = 4000000;
// get static property
echo "harga beli : Rp".laptop::$harga_beli;
echo "<br/>";
// panggil static method
echo laptop::beli_laptop();
?>
PROPERTY METHOD

Apabila terdapat class induk (parent class) dan class anak (child
class), maka cara memanggil method milik class induk
menggunakan perintah parent::nama_method().

Kemudian cara memanggil method milik class anak menggunakan


perintah self::nama_method(), karena method ini ada di dalam class
anak itu sendiri.
<?php
// buat class komputer
class komputer {
// protected static method
protected static function beli_komputer(){
return "Beli Komputer Baru";
}
}
// turunkan class komputer ke class laptop
class laptop extends komputer{
// private static method
private static function beli_laptop(){
return "Beli Laptop Baru";
}
// public static method
public static function beli_semua(){
echo parent::beli_komputer();
echo "<br/>";
echo self::beli_laptop();
}
}
// panggil static method
laptop::beli_semua();
?>
CLASS
Konstanta Class atau class constant adalah konstanta yang berada di
dalam class. Selain memiliki property dan method, PHP juga
membolehkan menggunakan konstanta (constant) di dalam class.

Sebagaimana sifat konstanta reguler, class constant juga tidak bisa


diubah nilainya ketika sudah didefenisikan. Untuk membuat class
constant di dalam PHP, digunakan perintah: const.
CLASS
<?php

class nama_class {
const NAMA_KONSTANTA = nilai_konstanta;
}

?>
CLASS

Di dalam PHP, class constant seolah-olah berprilaku sebagai static


property. Class constant juga terikat kepada class, bukan objek.

Oleh karena itu, untuk mengakses nilai konstanta, harus menggunakan


operator yang sama seperti static property, yakni
menggunakan double colon ‘::’.
<?php

// buat class laptop


class laptop {
// buat konstanta
const DOLLAR = '12000';
}

// panggil konstanta class


echo "Harga dollar saat ini = Rp. ".laptop::DOLLAR;

?>
CLASS
Sama seperti konsep static method, apabila terdapat class induk
(parent class) dan class anak (child class), maka cara
memanggil konstanta milik class induk menggunakan
perintah parent::konstanta.

Sedangkan cara memanggil konstanta milik class anak


menggunakan perintah self::konstanta, karena konstanta ini ada di
dalam class anak itu sendiri.
Contoh penerapan parent:: & self:: di konstanta
<?php
// buat class komputer
class komputer {
// buat konstanta class komputer
const DOLLAR = '11000';
}
// turunkan class komputer ke class laptop
class laptop extends komputer {
// buat konstanta class laptop
const DOLLAR = '12000';
// buat method dengan konstanta class komputer
public function beli_komputer($harga){
return "Beli Komputer Baru, Rp .".$harga*parent::DOLLAR;
}
// buat method dengan konstanta class laptop
public function beli_laptop($harga){
return "Beli Laptop Baru, Rp .".$harga*self::DOLLAR;
}
}

Codenya masih berlanjut...


// buat objek dari class laptop (instansiasi)
$laptop_baru = new laptop();

echo $laptop_baru->beli_komputer(400);
echo "<br/>";
echo $laptop_baru->beli_laptop(400);

?>
CLASS
METHOD
Abstract Class adalah sebuah class yang tidak bisa di-
instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai
‘kerangka dasar’ bagi class turunannya. Di dalam abstract
class umumnya akan memiliki abstract method.

Abstract Method adalah sebuah ‘method dasar’ yang harus


diimplementasikan ulang di dalam class anak (child class). Abstract
method ditulis tanpa isi dari method, melainkan hanya ‘signature’-
nya saja. Signature dari sebuah method adalah bagian method yang
terdiri dari nama method dan parameternya (jika ada).
CLASS
METHOD
Abstract class digunakan di dalam inheritance (pewarisan class)
untuk ‘memaksakan’ implementasi method yang sama bagi seluruh
class yang diturunkan dari abstract class.

Abstract class digunakan untuk membuat struktur logika penurunan


di dalam pemrograman objek.
CLASS
METHOD

Untuk membuat abstract class di dalam PHP, tinggal


menambahkan keyword abstract sebelum nama class.

Sebuah abstract class bisa memiliki property dan method biasa


layaknya sebuah class ‘normal’, namun juga bisa memiliki abstract
method.
Perhatikan & coba contoh berikut...
<?php
// buat abstract class
abstract class komputer{
// buat abstract method
abstract public function lihat_harddisk();
abstract public function lihat_processor();
}
// buat class laptop sebagai child class
class laptop extends komputer{
// method class laptop
public function lihat_harddisk() {
return "Harddisk laptop ini 1 Terabyte";
}
}
// Buat objek dari class yang ada
$komputer_baru = new komputer();
$laptop_baru = new laptop();
// Panggil method dari class laptop
echo $laptop_baru->lihat_harddisk();
?>
Bagaimana hasilnya? Error?
Jika error, maka betul. Karena...
▪ Class Komputer adalah abstract class, sehingga tidak dapat
diinstansiasi
▪ Pada class komputer (abstract class), terdapat abstract method
yaitu lihat_processor(), yang mana harus dijabarkan kembali di
class laptop (class anak)
CLASS
METHOD
Jika sebuah class ditambahkan keyword final, maka class tersebut
tidak bisa diturunkan sama sekali.

Dengan menambahkan keyword final kepada sebuah method,


maka method tersebut tidak dapat didefenisikan ulang di dalam child
class.

Dan Inilah pengertian dari final method dan final class.


CLASS
METHOD

Untuk membuat final method, tinggal menambahkan


kata final sebelum keyword hak akses.

Sedangkan untuk membuat final class, menambahkan


kata final sebelum nama class.
<?php

class komputer{
final public function lihat_spec(){
return "Lihat Spesifikasi Komputer";
}
}

class laptop extends komputer{


public function lihat_spec(){
return "Lihat Spesifikasi Laptop";
}
}

$laptop_baru = new laptop();

?>
<?php

final class komputer{


function lihat_spec(){
return "Lihat Spesifikasi Komputer";
}
}

class laptop extends komputer {


}

$laptop_baru = new laptop();

?>

Anda mungkin juga menyukai