PW 05 Object Oriented Programming
PW 05 Object Oriented Programming
What is a function?
Action or Method
What is a class?
Class Defintion
Class Usage
< ?p h p
req u ire('m an u sia.class.p h p ');
$su san = n ew m an u sia;
$su san -> n am a = 'S u san ';
ech o $su san -> n am a
. ' jika m en yap a, b erkata: '
. $su san -> m en yap a();
?>
class m an u sia {
p u b lic $n am a;
p u b lic fu n ction m en yap a() {
ech o $ th is-> n am a . ' b ilan g H alo!';
}
}
$ su san = n ew m an u sia;
$ su san -> n am a = 'S u san ';
$ su san -> m en yap a();
Constructor methods
Constructor Example
< ?p h p
class m an u sia {
p u b lic $n am a;
p u b lic fu n ction __con stru ct($n am a) {
$th is-> n am a = $n am a;
}
p u b lic fu n ction m en yap a() {
ech o $th is-> n am a . ' b ilan g H alo!';
}
}
?>
Constructor Example
< ?p h p
?>
O u tp u t:
S u san b ilan g H alo!
Class Scope
< ?p h p
$m ah asisw i = n ew m an u sia('S u san ');
$m ah asisw a = n ew m an u sia('Joko');
ech o $m ah asisw a-> n am a; // Joko
ech o $m ah asisw i-> n am a; // S u san ;
?>
Inheritance
manusia
mahasiswa
dosen
parent
children
Inheritance
Inheritance example
< ?p h p
class m ah asisw a exten d s m an u sia {
p u b lic fu n ction __con stru ct($n am a){
$th is-> n am a = $n am a;
}
p u b lic $tu g as = 'b elajar';
}
$su san = n ew m ah asisw a('S u san ');
ech o $su san -> m en yap a()
. ' ketika sed an g ' . $su san -> tu g as;
O u tp u t: S u san b ilan g H alo! ketika sed an g b elajar
Method Override
< ?p h p
class m ah asisw a exten d s m an u sia {
Child Constructors?
< ?p h p
class p akaian {
p u b lic $w arn a = 'm erah ';
}
class m an u sia {
p u b lic $n am a;
p u b lic $b aju ;
p u b lic fu n ction __con stru ct( $n am a ) {
$th is-> n am a = $n am a;
}
}
Encapsulation
Encapsulation Example
< ?p h p
class p akaian {
p u b lic $w arn a = 'm erah ';
}
class m an u sia {
p rivate $b aju ;
p u b lic fu n ction __con stru ct() {
$th is-> b aju = n ew p akaian ;
$th is-> b aju -> w arn a = 'b iru ';
}
p u b lic fu n ction w arn aB aju () {
retu rn $th is-> b aju -> w arn a;
}
}
$su san = n ew m an u sia();
ech o 'S u san m em akai b aju b erw arn a ' . $su san -> w arn aB aju ();
O u tp u t: S u san m em akai b aju b erw arn a b iru
Abstract Class
Interface
Polymorphism
Polymorphism Example
< ?p h p
in terface class b in atan g {
p u b lic fu n ction b icara();
}
class ku cin g im p lem en ts b in atan g {
p u b lic fu n ction b icara() {
ech o "M eon g ";
}
}
class an jin g im p lem en ts b in atan g {
p u b lic fu n ction b icara() {
ech o "G u k G u k ";
}
}
Polymorphism Example
< ?p h p
$h ew
$h ew
$h ew
$h ew
?>
an = n ew ku cin g ;
an -> b icara(); // M eon g ...
an = n ew an jin g ;
an -> b icara(); // G u k... G u k...
Final Keyword
Deleting objects