Escolar Documentos
Profissional Documentos
Cultura Documentos
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
Like functions, each instantiated object has its own local 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('A d i');
ech o $m ah asisw a-> n am a; // A d i
$m ah asisw a-> n am a = "B u d i";
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?
Class Visibility
Visibility
Property Visibility
Visibility Example
class M yC lass
{
p u b lic $p u b lic = 'P u b lic';
p rotected $p rotected = 'P rotected ';
p rivate $p rivate = 'P rivate';
fu n ction p rin tH ello()
{
ech o $th is-> p u b lic;
ech o $th is-> p rotected ;
ech o $th is-> p rivate;
}
}
$ob j = n ew M yC lass();
ech o $ob j-> p u b lic; // W orks
ech o $ob j-> p rotected ; // Fatal Error
ech o $ob j-> p rivate; // Fatal Error
$ob j-> p rin tH ello(); // S h ow s P u b lic,
P rotected an d P rivate
< ?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
Abstract Class
ab stract class B in atan g
{
ab stract p rotected fu n ction b icara();
// C om m on m eth od (sh ared )
p u b lic fu n ction g aru kG aru k() {
ech o "g aru k g aru k ";
}
}
}
$an g g ora = n ew B in atan g ; // E
$an g g ora = n ew K u cin g ;
$h erd er = n ew B in atan g ; // E
$h erd er = n ew A n jin g ;
// g aru k g aru k
Interface
Polymorphism
Polymorphism Example
< ?p h p
in terface 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...
Latihan
bukaPintu();
jumlahRoda();
Final Keyword
Deleting objects