sexta-feira, 15 de maio de 2015

Classes e Objetos (Orientação a objetos)

Origem da orientação a objetos:
orientação a objetos tem sua origem nos anos 60 na Noruega, com Kristen Nygaard e Ole-Johan Dahl, no Centro Norueguês de Computação. Através da linguagem Simula 67, foram introduzidos os conceitos de classe e herança.
A orientação a objetos foi mais bem conceituada no laboratório da Xerox, em Palo Alto, sendo refinada numa seqüência de protótipos da linguagem Smalltalk. O líder desse projeto foi Alan Curtis Kay, considerado um dos criadores do termo “programação orientada a objetos”.
Alan Kay também observou que o conceito de objetos tinha enorme potencial como uma f
erramenta cognitiva: havia uma boa correspondência com a maneira de pensar das pessoas sobre o mundo. Ele percebeu que um substantivo isolado faz aparecer uma imagem concreta na mente das pessoas e um verbo isolado não tem esse efeito. Verbos são propriedades dos substantivos: Garotos correm; cachorro corre; água corre; trem corre. Na orientação a objetos chamamos isso de polimorfismo.
Então, Alan Kay pensou em como construir um sistema de software a partir de agentes autônomos que interagissem entre si, estabelecendo os seguintes princípios da orientação a objetos:
  • Qualquer coisa é um objeto.
  • Objetos realizam tarefas através da requisição de serviços.
  • Cada objeto pertence a uma determinada classe.
  • Uma classe agrupa objetos similares.
  • Um classe possui comportamentos associados ao objeto.
  • Classes são organizadas em hierarquias.

Fonte: http://www.webgoal.com.br/origem-da-orientacao-a-objetos/

Para entender mais facilmente a orientação a objeto,vamos usar entidades e não programas.
Exemplo:Vou controlar um aluno.O aluno é entendido como classe.
Nome,série,endereço:Isso são atributos do aluno,ou seja,seus objetos.

Definições:
Classe:Características em comum dos objetos
Objeto:Define o valor,tangível

Quando criamos a classe,temos que pensar em atributos,não em valores.Também não precisamos inicialmente nos preocupar com os objetos.Exemplo com código:

<?php
class Aluno{                                                                
  public
  private
  protected
public $name
public $matrícula
public $nota1
public $nota2
public $nota3

*Começar o nome da classe sempre com letra maiúscula
*Público:Classe terá acesso
*Privado:Classe externa não terá acesso
*Protegido:Somente a classe e a subclasse têm acesso

<?php
   class Aluno {
   public $nome;
   public $matricula;
   public $nota1;
   public $nota2;
   public $nota3;
   public function resultado(){
      $total = $this->calculaTotal();
      if ($total>=50){
      return "Aprovado";
      }else{
      return "Reprovado";
      }
   }
   public function calculaTotal() {
   return $this->nota1 + $this->nota2 + $this->nota3;
   }
 }
?>


<?php
   include "Aluno.class.php";
   $aluno = new Aluno();
 
   // $aluno é um objeto do tipo Aluno

   $aluno->nome = "Rodolpho Zurick Sigurus Barickovy";
   $aluno->matricula = "123667";
   $aluno->nota1 = 12;
   $aluno->nota2 = 4;
   $aluno->nota3 = 38;
   echo "O aluno " . $aluno->nome;
   echo " obteve as seguintes notas:<br />";
   echo $aluno->nota1 . "<br />";
   echo $aluno->nota2 . "<br />";
   echo $aluno->nota3 . "<br />";
   echo "<br />Obtendo o total de <u>" . $aluno->calculaTotal() ."</u>";
   echo "<br />E como resultado foi <b>" . $aluno->resultado() ."</b>";
?>

Abaixo o primeiro exemplo feito em sala:
Vantagens da orientação a objetos:
 * Torna mais rápidas as atividades de programação e manutenção de sistemas de informação;
* Tem caráter unificador: trata todas as etapas do desenvolvimento de sistemas e ambientes sob uma única abordagem;
Principais Vantagens:
* Reusabilidade de código
* Escalabilidade de aplicações
* Apropriação

Um comentário:

  1. Coloque as referências bibliográficas no final. Quando retirar algo na íntegra de um site (ou livro) faça uma citação direta. Leia esse artigo sobre como fazer citações de texto retirados da internet http://www.recantodasletras.com.br/teorialiteraria/1861690 - Aproveite e veja as regras para as demais citações.

    Confira os códigos... você colocou alguns trechos que usei como comentário em aula, eles não fazem parte do código final.

    Feito os comentários necessários, um bom começo. Parabéns

    ResponderExcluir