Programação Orientada a Objetos
Reginaldo Rubens
10/02/2015
<?php // Declara a classe Aluno class Aluno { // Declara os atributos (variáveis) da classe // usa "private" para impedir o acesso direto aos atributos private $nome = ''; private $notas = array(); // método (função) para definir o valor do atributo $nome do objeto public function setNome($nome) { // $this é uma referência para o objeto que está executando o método $this->nome = $nome; } // método para ler o valor do atributo privado $nome public function getNome() { // retorna o valor atual do atributo return $this->nome; } // método para adicionar uma nota ao array de notas do objeto public function addNota($nota) { // se o valor da nota é inválido if ($nota < 0 || $nota > 10) { // gera uma "exceção" (um erro do PHP) com a mensagem passada como parâmetro throw new Exception('Valor de nota inválido.'); } // adiciona a nota passada como parâmetro como um novo elemento no array de notas do objeto array_push($this->notas, $nota); } // método para calcular a média das notas adicionadas ao array de notas public function calcularMedia() { return array_sum($this->notas) / count($this->notas); } } class App { private $alunos = array(); private function inicializar() { $this->alunos[0] = new Aluno(); $this->alunos[0]->setNome('José'); $this->alunos[0]->addNota(8); $this->alunos[0]->addNota(7); $this->alunos[0]->addNota(6); $this->alunos[1] = new Aluno(); $this->alunos[1]->setNome('Maria'); $this->alunos[1]->addNota(8); $this->alunos[1]->addNota(8.5); $this->alunos[1]->addNota(9); } private function exibirDados() { foreach($this->alunos as $aluno) { echo 'Nome: ' . $aluno->getNome(); echo 'Média: ' . $aluno->calcularMedia(); } } public function executar() { $this->inicializar(); $this->exibirDados(); } } $app = new App(); $app->executar();
Vazio.