-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathoo_pilar_abstracao.php
93 lines (75 loc) · 1.99 KB
/
oo_pilar_abstracao.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
<?php
// definir o modelo
class Funcionario {
//atributos
public $nome = null;
public $telefone = null;
public $numFilhos = null;
public $cargo = null;
public $salario = null;
//getters setters (overloading / sobrecarregar)
function __set($atributo, $valor)
{
$this->$atributo = $valor;
}
function __get($atributo)
{
return $this->$atributo;
}
function resumirCadFunc() {
return $this->__get('nome') . " possui " . $this->__get('numFilhos') . " filho(s)!";
}
function modificarNumFilhos($numFilhos) {
// afetar um atributo do objeto
$this->numFilhos = $numFilhos;
// neste caso é uma ação void (sem retorno)
}
}
$y = new Funcionario();
$y->__set('nome', 'José');
$y->__set('numFilhos', 2);
echo $y->resumirCadFunc();
//echo $y->__get('nome') . ' possui ' . $y->__get('numFilhos') . ' filho(s) ';
echo '<br />';
$x = new Funcionario();
$x->__set('nome', 'Maria');
$x->__set('numFilhos', 0);
echo $x->resumirCadFunc();
//echo $x->__get('nome') . ' possui ' . $x->__get('numFilhos') . ' filho(s) ';
/*
// métodos setters
function setNome($nome) {
$this->nome = $nome;
}
function setNumFilhos($numFilhos) {
$this->numFilhos = $numFilhos;
}
//métodos getters
function getNome() {
return $this->nome;
}
function getNumFilhos() {
return $this->numFilhos;
}
//métodos
function resumirCadFunc() {
return "$this->nome possui $this->numFilhos filho(s)!";
}
function modificarNumFilhos($numFilhos) {
// afetar um atributo do objeto
$this->numFilhos = $numFilhos;
// neste caso é uma ação void (sem retorno)
}
}
$y = new Funcionario();
$y->setNome("Mônica");
$y->setNumFilhos(1);
//echo $y->resumirCadFunc(); **OU:**
echo $y->getNome() . ' possui ' . $y->numFilhos . ' filho(s).';
echo '<hr>';
$x = new Funcionario();
$x->setNome("João");
$x->setNumFilhos(3);
echo $x->getNome() . ' possui ' . $x->numFilhos . ' filho(s).';
*/
?>