Você está na página 1de 2

PESQUISA SOBRE PROGRAMAÇÃO ORIENTADA A OBJETOS

(POO)
O que são classes?

R: Podemos imaginar o conceito de classe como se fosse um molde de argila utilizado para
fazer uma bonequinha de porcelana. Ou em linguagens mais técnicas, uma classe seria uma
estrutura que define o comportamento de objetos criados a partir dela. Uma classe possui
propriedades e métodos.

O que significa instanciar ou criar uma instância?

R: Instanciar é quando você criar um objeto a partir de uma classe. Voltando a comparação,
é como se você criasse uma boneca de porcelana (objeto) a partir de seu molde (classe).
Exemplo prático:

class Aluno{
public $nome = 'Ronaldo';
public $curso = 'Informática'
}

$Ronaldo = new Aluno; //para se instanciar um objeto, utiliza-


se a palavra reservada "new"

O que são objetos?

R: Os objetos são construções virtuais que buscam imitar o comportamento de objetos reais.
Os objetos podem ser criados diretamente, definindo suas propriedades e seus métodos, ou
pode ser instanciado (ou em outras palavras, moldado) a partir de uma classe.

O que são métodos?

R: Como dito anteriormente, um objeto é uma construção virtual de um sistema que possui
propriedades (valores que podem ser acessados) e métodos (funções que aquele objeto
pode desenvolver). Assim como uma função qualquer, os métodos recebem um conjunto de
instruções para serem executadas quando chamados. Exemplo:

class Cachorro{
public $nome = 'Mel';

function latir(){ // MÉTODO


echo('Au');
}
}

$Mel = new Cachorro;


$Mel->latir() // 'Au';
O que é encapsulamento?

R: Quando instanciamos um objeto a partir de uma classe, é preciso ter cuidado com a
visibilidade de algumas propriedades, já que qualquer outro programador poderia
acidentalmente ou maliciosamente alterar suas informações, trazendo sérios transtornos ao
sistema.

class Aluno{
public $nome = 'Ronaldo'; //PROPRIEDADE NOME ESTÁ PÚBLICA
public $curso = 'Informátido';
}

$Ronaldo = new Aluno;


$Ronaldo->nome = 'Reinaldo';
// O NOME FOI ALTERADO PARA 'Reinaldo'
// ESSE COMPORTAMENTO NÃO ERA ESPERADO NO SISTEMA
Para resolver a esse problema, o princípio do encapsulamento nos auxilia a PRIVAR essas
propriedades e restringir seu acesso da maneira como for necessário. As propriedades
podem ser definidas como públicas ou privadas, vamos defini-las então como privadas
(private). Aqui o exemplo:

class Aluno{
private $nome = 'Ronaldo'; //A VARIÁVEL AGORA FOI DEFINIDA COMO PRIVA
DA

function getName(){
return $this->nome;
}

function setName($name){
$this->nome = $name;
}
}

$Ronaldo = new Aluno;

$Ronaldo->nome; //Erro
$Ronaldo->nome = 'Reginaldo'; //Erro

$Ronaldo->getName(); // 'Ronaldo'
$Ronaldo-
>setName('Reginaldo'); //A propriedade nome foi alterada para 'Reginaldo'

Você também pode gostar