2 minutes
Catatan Belajar OOP PHP (Bag. 4)
Abstract Class
- Bayangin aja abstrak skripsi.
- Gak bisa diinstansiasi. Turunannya bisa.
- Sebagai kerangka dasar.
- Minimal punya satu method abstrak.
- Boleh dimasukin property dan method reguler. Static juga boleh.
- Kelas turunannya wajib mewarisi method abstract.
abstract class NamaClass {
// method ini gak usah diisi, nanti aja turunannya yang ngisi.
abstract public function abstractMethod();
}
Why abstract?
- Representasi ide / konsep dasar.
- Composition over inheritance.
- Polimorphism.
- Sentralisasi logic.
- Good for teamwork.
Interface
- Kelas abstract yang sama sekali tidak memiliki implementasi. Harus definisinya saja.
- Template.
- No property, hanya deklarasi method.
- Methodnya harus public.
- Turunanya wajib mengimplementasikan method-method yang ada di interface.
- Tidak bisa diinstansiasi.
- Sebuah class bisa mengimplementasi lebih dari satu interface.
interface NamaInterface {
public function methodSatu();
public function methodDua($parameter);
}
interface NamaInterfaceDua {
public function methodTiga();
}
// implementasi satu interface
class NamaClass implements NamaInterface {
protected $parameter;
public function methodSatu() {
// skrip
}
public function methodDua($parameter) {
// skrip
}
}
// implementasi dua interface
class NamaClassDua implements NamaInterface, NamaInterfaceDua {
protected $parameter;
public function methodSatu() {
// skrip
}
public function methodDua($parameter) {
// skrip
}
public function methodTiga() {
// skrip
}
}
Web Programming UNPAS
OOP DASAR pada PHP #13 - Abstract Class (bagian 1)
OOP DASAR pada PHP #14 - Abstract Class (bagian 2)
OOP DASAR pada PHP #15 - Interface
Kalau kamu suka tulisan saya, boleh kok traktir saya kopi. Tinggal klik di sini.