POO - 02 Orientação a Objetos - Entendendo através da prática como funcionam as classes, atributos e métodos.
Para melhor entender esse tutorial é necessário conhecer HTML, e lógica de programação, além disso é fundamental já ter instalado no seu computador o apache e salvar os arquivos PHP dentro da pasta htdocs/.Esse tutorial é para aqueles que já conhecem os fundamentos de PHP e querem conhecer a linguagem no paradigma orientado a objetos.
E lá vamos nos entender na prática como funcionam alguns dos termos utilizados no paradigma orientado a objetos. As classes, atributos, métodos, instanciar classes todos esses são alguns dos conceitos que fazem parte do paradigma orientado a objetos e aqui veremos em linguagem de programação PHP como funciona cada um desses termos.
<?php
?>
Todos arquivo PHP deve ser iniciado e finalizado pelos comandos <?php ... ?> isso também esta presente em arquivos com classes PHP.
A classe PHP deve ter todo o seu conteúdo dentro das chaves {...} sendo assim nossa classe FazerOvoFrito() ficará dessa forma:
<?php
class FazerOvoFrito { inicio da classe
//aqui o conteúdo da classe
}final da classe
?>
Cada palavra que compõem o nome da classe inicia-se com letra maiúscula.
Nesse exemplo o resultada esperado para a classe FazerOvoFrito é um ovo frito então o objeto dessa classe é o ovo frito.
Para que o objeto ovo frito seja possível de ser alcançado precisamos de alguns itens, exemplo: a panela, o ovo, os temperos, um fogão... Esses itens são os atributos que serão escritos assim:
<?php
class FazerOvoFrito {
public $ovo;
public $panela;
public $fogão;
public $temperos;
}
?>
Como visto os atributos são como variáveis, e apresentam sua visibilidade como public, falaremos em outro momento sobre essa visibilidade dos atributos.
Nessa classe teremos as ações então iremos escreve-las a seguir, essas ações de "verificar os itens" e "fritar o ovo" são os métodos.
<?php
class FazerOvoFrito {
public $ovo;
public $panela;
public $fogão;
public $tempero;
public function verificarItens() { inicio do método
//aqui escrevemos as ações realizadas pelo método
}fim do método
public function Fritar() {
//aqui escrevemos as ações realizadas pelo método
}
}
?>
Como visto no código acima o método é escrito da seguinte forma:
visibilidade + function + nomeDoMetodo (){ .... }
Vamos escrever a ação de cada método:
class FazerOvoFrito {
public $ovo;
public $panela;
public $fogão;
public $tempero;
public function verificarItens() {
if ($this->ovo == TRUE && $this->panela == true) {
// linha acima se o ovo tem valor verdadeiro e panela tem valor verdadeiro
return true; // retornar verdadeiro
} else {
// senão
return false; // retornar falso
}
}
public function Fritar() {
if ($this->verificarItens() == true) {
return true;
} else {
return false;
}
}
}
Entendendo melhor o código do método verificarItens():
Usamos o comando if, que é uma estrutura de decisão onde ele verifica se todas as condições forem verdadeiras ele retorna true = Verdadeiro
Else é o caso contrario do if, ou seja, senão for verdade o if o código executado será o else retornando um false = falso.
Usamos também um $this-> que é um indicador de que o atributo esta nessa classe, faz parte dessa classe o atributo ovo.
Já o && contido dentro do if indica que tanto a primeira condição quanto a segunda condição devem ser verdadeiras para um retorno verdadeiro. Ou seja, para o retorno ser True deve-se ter o atributo ovo = true e o atributo panela também como true.
**tente verificar também se o fogão e os temperos estão true também :)
(lembrando que o sinal de == verifica se é igual, enquanto o sinal = apenas atribui o valor)
Entendendo melhor o código do método Fritar():
se o método verificarItens() retornou verdadeiro ( ou seja, tinha todos os itens como true)
O método Fritar() também retorna true, senão o método Fritar() retornará Falso.
Para instanciar a classe e habilitar a mesma a realizar seu objeto, deve-se escrever o código abaixo fora da classe, ou seja, depois do } que finaliza a classe. Pode-se instanciar uma classe em um outro arquivo também desde que seja incluído nesse novo arquivo o arquivo onde esta a classe. ex: include('Fritarovos.class.php');
Então agora chegou a hora de instanciar e ver funcionar essa classe:
$fazer = new FazerOvoFrito(); // instancia a classe e habilita para funcionar como a variável $fazer
$fazer->ovo = true; // aplicamos o valor true para o atributo ovo
$fazer->panela = true; // aplicamos o valor true para o atributo panela
$fazer->verificarItens(); // executamos o método verificarItens()
if($fazer->verificarItens()==true){// se o método verificarItens retornou verdadeiro
echo "Todos os itens ja estão separados";
} else {// se o método verificarItens() não retornar true..
echo "Faltam itens.";
}
$fazer->Fritar();// executa o método Fritar()
if ($fazer->Fritar() == true) {// verifica se o método Fritar() retornou verdadeiro
echo "<br>o ovo foi frito com sucesso!";
} else {// se o método não retornar verdadeiro
echo"<br>Não podemos fritar o ovo.";
}
como fica todo o código:
<?php
class FazerOvoFrito {
public $ovo;
public $panela;
public $fogão;
public $tempero;
public function verificarItens() {
if ($this->ovo == TRUE && $this->panela == true) {
return true;
} else {
return false;
}
}
public function Fritar() {
if ($this->verificarItens() == true) {
return true;
} else {
return false;
}
}
}
$fazer = new FazerOvoFrito();
$fazer->ovo = true;
$fazer->panela = true;
$fazer->verificarItens();
if ($fazer->verificarItens() == true) {
echo "Todos os itens ja estão separados";
} else {
echo "Faltam itens.";
}
$fazer->Fritar();
if ($fazer->Fritar() == true) {
echo "<br>o ovo foi frito com sucesso!";
} else {
echo"<br>Não podemos fritar o ovo.";
}
?>
Nenhum comentário:
Postar um comentário