-
Notifications
You must be signed in to change notification settings - Fork 1
/
17_oop.php
126 lines (84 loc) · 3.35 KB
/
17_oop.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
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<?php
/* 1.Object Oriented Programming -- Programação Orientada a Objetos */
/*
Eng: From PHP5 onwards you can write PHP in either a procedural or object oriented way.
00P consists of classes that can hold " properties " and " methods " . Objects can be created from classes .
PT: Do PHP5 em diante, você pode escrever PHP de maneira procedural ou orientada a objetos.
00P consiste em classes que podem conter "propriedades" e "métodos". Objetos podem ser criados a partir de classes.
*/
/*------------- 2.Class ----------*/
//2.1.properties - are attributes that belong to a class | atributos que pertencem a uma classe.
//Acess Modifiers: public, private, protected | Modificadores de acesso: público, privado, protegido.
//public - can be acessed from anywhere | público - pode ser acessado de qualquer lugar.
//private - can only be acessed from inside the class | private - só pode ser acessado de dentro da classe.
//protected - - can only be acessed from inside the class and by inheriting classes | protegido - -só pode ser acessado de dentro da classe e herdando classes.
//2.2.Creating a user class |criando uma classe de usuário
class User {
//properties - are attributes that belong to a class | atributos que pertencem a uma classe.
public $name;
public $email;
public $password;
//2.4.A constructor is a method that runs when an object is created | Um construtor é um método que é executado quando um objeto é criado
// function __construct($name, $email, $password){
// $this->name = $name;
// $this->email = $email;
// $this->password = $password;
// }
public function __construct(){
}
//2.3.method is fuction that belong to a class | método é função que pertence a uma classe
//
function set_name($name) {
$this->name = $name;
}
//
function get_name() {
return $this->name;
}
function set_email($email) {
$this->email = $email;
}
//
function get_email() {
return $this->email;
}
//output info |
function print_User() {
//getting info to print
echo 'name: '.$this->get_name();
echo 'email: '.$this->get_email();
}
}
//3.instatiate a user object
$user1 = new User();
//3.1.initialize the variable name , giving name to the user | inicializa a variável name , dando nome ao usuário
$user1->$name = "Juliao0";
//output | saída na tela:
echo 'output | saída na tela: <br> name of user <br> nome do usuário :'. $user1->$name;
echo "<hr>";
//vardump($user1);
$user1->$email = "[email protected]";
$user1->$password = "############";
var_dump($user1);
echo "<hr>";
//using method from the class, to give name to the user
$user1->set_email('Juliao1');
//method: output | saída na tela:
$user1->print_User();
//Inheritence
class Employee extends User {
public $title;
public function __construct($name, $email, $password, $title){
//similar to super
parent::__construct($name, $email, $password);
$this->title = $title;
}
public function get_title() {
return $this->title;
}
}
//3.instantiate an Employee object | instanciar um objeto Employee
$emmployee1 = new Employee('sara', '[email protected]', '######', 'Maneger');
//method: output | saída na tela:
echo '<br><hr><br>'.$emmployee1->get_title();
?>