A Orientação a Objetos (OO) é o desenvolvimento de uma estratégia em que os sistemas devem ser construídos baseados em uma coleção de componentes reusáveis conhecidos como objetos. Possuem basicamente duas características:
- Objetos possuem dados (atributos);
- Objetos manipulam dados e fazem coisas (métodos).
Classe
Uma classe é a abstração, um modelo a partir do qual os objetos podem ser criados, mostrando quais devem ser suas características (atributos) e quais devem ser suas funcionalidades (métodos)
Atributo
A coleção de atributos representa o que uma classe sabe (os dados que a classe possui). Na programação os atributos são as variáveis que definimos para a classe.
Método
Definem o que as classes sabem fazer, podem alterar os atributos e realizar funções inerentes a classe. Na programação podemos pensar em métodos como funções na classe.
Visibilidade de Atributos e Métodos
Os atributos e métodos de uma classe podem ser definidos como:
- public (público), é acessível em qualquer lugar da classe, de suas subclasses, bem como em qualquer parte dos scripts que contém a classe;
- protected (protegido), são visíveis pela classe que os criou e por suas subclasses (classes que herdam a classe principal), porém não são acessíveis fora deste contexto;
- private (privado), são visíveis apenas na classe que os criou. Subclasses ou o script que contém a classe não podem acessar estes atributos e métodos de forma direta.
Objeto
É a entidade que desejamos generalizar (torná-la uma classe) e pode ser uma pessoa, um lugar, um evento, um conceito, um relatório, uma tela, enfim qualquer coisa do mundo real. Em relação a banco de dados, podemos enxergar um objeto como um dos registros de uma tabela.
Primeiramente criamos uma classe Cliente que terá uma atributo nome com a visibilidade public, como ilustra o trecho do código:
class Cliente {
//Atributos
public $nome;
}
Em seguida definimos dois métodos com visibilidade public. Um método chamado setNome, sua função é definir um valor para o atributo nome, e outro método chamado getNome, com a função de recuperar o valor de nome gravado no objeto.
//Métodos
public function setNome($nome)
{
$this->nome = $nome;
}
public function getNome()
{
return $this->nome;
}
Para simplificar colocamos nosso código html no mesmo arquivo Cliente.php, que consiste num formulário para salvar o nome do cliente, segue o código:<html>
<head>
Classe Cliente
</head>
<body>
</body>
</html>
E finalmente tratamos o retorno do formulário com o script PHP a seguir:
<?php
if(!empty($_GET))
{
$nome = $_GET['nome'];
$idade = $_GET['idade'];
$cliente = new Cliente();
$cliente->setNome($nome);
echo $cliente->getNome() . ", salvo com sucesso.<>";
}
?>
Segue o código completo do exemplo:
<?php
/**
* Classe Cliente
*
* @author Luiz Carlos
*/
class Cliente {
//Atributos
public $nome;
protected $idade;
//Métodos
public function setNome($nome)
{
$this->nome = $nome;
}
public function setIdade($idade)
{
if($idade > 130)
{
exit();
}
else
{
$this->idade = $idade;
}
}
public function getNome()
{
return $this->nome;
}
public function getIdade()
{
return $this->idade;
}
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8"/>
<title>Classe Cliente</title>
</head>
<body>
<?php
if(!empty($_GET))
{
$nome = $_GET['nome'];
$idade = $_GET['idade'];
$cliente = new Cliente();
$cliente->setNome($nome);
$cliente->setIdade($idade);
echo $cliente->getNome() . ", salvo com sucesso.<>";
echo $cliente->getIdade() . " anos de idade.";
}
?>
<form name="fcliente" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
<label for="nome">Nome</label>
<input name="nome" type="text" maxlength="30" size="30"/>
<label for="idade">Idade</label>
<input name="idade" type="text" maxlength="3" size="3" />
<input value="Salvar" type="submit">
</form>
</body>
</html>
Até a próxima. Bom estudo!Fonte:
Walaca Soares
PHP 5: Conceitos, Programação e Integração com Banco de Dados
6ª ed. revisada - São Paulo, Editora Érica, 2010
Nenhum comentário:
Postar um comentário
Comentemm, vamos compartilhar experiências!