Classes
Uma classe define estado e comportamento de um Objeto geralmente implementando métodos e atributos. Os atributos, também chamados de variáveis, indicam as possíveis informações armazenadas por um objeto de uma classe, representando o estado de cada objeto. Os métodos, também chamados de funções, são procedimentos que formam os comportamentos e serviços oferecidos por objetos de uma classe.
Subclasses
É uma nova classe originada de sua classe pai.
Objetos
Objeto é uma instância de uma classe. Um objeto é capaz de armazenar estados através de seus atributos e reagir a mensagens enviadas a ele, assim como se relacionar e enviar mensagens a outros objetos.
Métodos
Definem as habilidades dos objetos. Um método em uma classe é apenas uma definição. A ação só ocorre quando o método é invocado através do objeto. Dentro do programa, a utilização de um método deve afetar apenas um objeto em particular. Normalmente, uma classe possui diversos métodos, um para cada tipo de ação.
Atributos
São características de um objeto. Basicamente a estrutura de dados que vai representar a classe. O conjunto de valores dos atributos de um determinado objeto é chamado de estado.
Construtor
Definem o comportamento no momento da criação de um objeto de uma classe, ou seja, assim que instanciamos o objeto esse método é executado.
Visibilidade de Atributos e Métodos
A visibilidade de atributos ou métodos podem ser definidos com os seguintes modificadores de acesso: public, protected ou private.
public:
Podem ser acessados direto pelo objeto (instância da classe)
protected:
Podem ser acessados pela classe e suas subclasses
private:
Podem ser acessados apenas pela classe que define o método ou atributo.
Obs: Normalmente em POO deixamos atributos como private e métodos como public.
Herança
É um princípio da Programação Orientada a Objetos que permite que as classes compartilhem atributos e operações baseados em um relacionamento. A herança permite a criação de subclasses que herdam atributos e métodos da classe pai (super-classe ou classe base).
Exemplo:
<?php
class Pessoa {
private $nome;
private $telefone;
public function __construct(){
echo "Objeto criado com sucesso!<br />";
}
public function setNome($var){
$this->nome = $var;
}
public function getNome(){
return $this->nome;
}
public function setTelefone($var){
$this->telefone = $var;
}
public function getTelefone(){
return $this->telefone;
}
}
class Aluno extends Pessoa{
private $serie;
public function setSerie($var){
$this->serie = $var;
}
public function getSerie(){
return $this->serie;
}
}
class Professor extends Pessoa{
private $materia;
public function setMateria($var){
$this->materia = $var;
}
public function getMateria(){
return $this->materia;
}
}
$objPessoa = new Aluno();
$objPessoa->setNome("Aluno Fulano de tal");
$objPessoa->setTelefone("11 3636-3636");
$objPessoa->setSerie("Oitava");
print_r($objPessoa);
echo "<br/><br />";
$objProfessor = new Professor();
$objProfessor->setNome("Professor Fulano de tal");
$objProfessor->setTelefone("11 3636-3636");
$objProfessor->setMateria("Matemática");
print_r($objProfessor);
?>
Pessoa: É a classe pai
Aluno e Professor: São subclasses de Pessoa indicados por “extends”;
Nome e telefone: São atributos da classe Pessoa herdados para as subclasses (Aluno e Professor);
getXxxx: São métodos que retornam valores dos atributos;
setXxxx: São métodos que armazenam valores em determinados atributos;
Veja mais em Guia do hardware
