-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinterfaces.php
103 lines (78 loc) · 1.64 KB
/
interfaces.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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
<?php
// -------------- EXEMPLO 1 --------------
interface EquipamentoEletronicoInterface {
public function ligar();
public function desligar();
}
class Geladeira implements EquipamentoEletronicoInterface {
public function abrirPorta() {
echo "Abrir a porta!";
}
public function ligar() {
echo "Ligar!";
}
public function desligar() {
echo "Desligar!";
}
}
class TV implements EquipamentoEletronicoInterface {
public function trocarCanal() {
echo "Trocar o canal!";
}
public function ligar() {
echo "Ligar!";
}
public function desligar() {
echo "Desligar!";
}
}
$x = new Geladeira();
$y = new TV();
// -------------- EXEMPLO 2 --------------
interface MamiferoInterface {
public function respirar();
}
interface TerrestreInterface {
public function andar();
}
interface AquaticoInterface {
public function nadar();
}
class Humano implements MamiferoInterface, TerrestreInterface {
public function respirar() {
echo "Respirar";
}
public function andar() {
echo "Andar";
}
public function conversar() {
echo "Conversar";
}
}
class Baleia implements MamiferoInterface, AquaticoInterface {
public function respirar() {
echo "Respirar";
}
public function nadar() {
echo "Nadar";
}
protected function esguichar() {
echo "Esguichar";
}
}
// -------------- EXEMPLO 3 --------------
interface AnimalInterface {
public function comer();
}
interface AveInterface extends AnimalInterface {
public function voar();
}
class Papagaio implements AveInterface {
public function voar() {
echo "Voar";
}
public function comer() {
echo "Comer";
}
}
?>