-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path3-pengenalan-interface-comment.php
76 lines (70 loc) · 1.94 KB
/
3-pengenalan-interface-comment.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/**
* @package Object-Oriented pada PHP
* @author @EmptyWork <https://github.com/EmptyWork>
* @version 0.0.3b - tambah: interface - versi komen - mirip abstract class
* =================================
*
* INTERFACE mirip dengan abstract class
* merupakan sebuah template yang tidak
* bisa di inisialisasi secara langsung, atau bisa
* dijelaskan sebagai sebuah wireframe untuk class lain.
*
* *********************************
*
* Inisialisasi sebuah Interface
* Dengan menggunakan syntax dibawah
* ---------------------------------
* @access public
* interface NamaInterface {
*
* }
*/
interface Template {
/**
* Menginsialisasi sebuah method didalam interface
* =============================
*
* Mirip dengan penggunaan abstract method pada abstract class,
* Sebuah Method yang termuat didalam interface juga tidak bisa
* di panggil secara langsung oleh class turunan
* tanpa 'mengoverride' method tersebut pada
* class turunan (Children class).
*/
public function methodPertama();
public function methodKedua();
}
class ContohParent {
public function methodParent() {
echo "Method dari class Parent \n";
}
}
interface TemplateBaru {
public function methodTambahan();
}
/**
* Menggunakan ContohParent class sebagai parent class
* dan menambahkan 2 interface — Template dan TemplateBaru
* @access public
*/
class GunakanTemplate extends ContohParent implements Template, TemplateBaru {
/**
* Menginisialisasi proses 'override' semua method
* turunan dari ContohParent class, Template interface
* dan TemplateBaru interface
*/
public function methodPertama() {
echo "Method Pertama \n";
}
public function methodKedua() {
echo "Method Kedua \n";
}
public function methodTambahan() {
echo "Method Tambahan \n";
}
}
$template = new GunakanTemplate();
$template->methodPertama();
$template->methodKedua();
$template->methodTambahan();
$template->methodParent();