quinta-feira, 2 de agosto de 2012

Referências Bibliográficas

DAVID,  Marcio Frayse, Guia do Hardware.  Disponível em:<http://www.hardware.com.br/artigos/programacao-orientada-objetos/> Acessado em 31/07/12.

GUDWIN, Ricardo R. Linguagens de Programação Mini e Microcomputadores: Software. Disponível em:

CAMILO, Márcio da Silva, Sir Mac Stronger. Disponível em:

quarta-feira, 1 de agosto de 2012

Finalidade do Blog

O blog foi criado com a finalidade de informar sobre Linguagens Orientadas a Objeto; irá conter os seguintes tópicos:
  • O que é Linguagens Orientadas a Objeto,
  • Para que serve,
  • Como funciona,
  • Exemplos de linguagens que se enquadram nesse paradigma,
  • Exemplos de programas dessa linguagem.
O blog tem como autoras: Alessandra Reis, Helen Fabrine, Isabella Macedo, Késsia Coutinho e Valéria Chaves (Grupo 6 da matéria de Introdução ao Algoritmo Estruturado), com o incentivo do professor Cláudio Rodolfo Sousa de Oliveira.

O que é Linguagens Orientadas a Objeto...

       A Programação Orientada a Objetos (POO) é uma forma especial de programar, mais próximo de como expressaríamos as coisas na vida real do que outros tipos de programação. É também uma outra visão de como programar. Quando for pensar na estrutura e lógica do programa, você não vai pensar apenas em quais váriaveis você vai ter, e quais funções você vai aplicar nelas. Você deverá pensar em quais os objetos que formam seu programa. Você decide o que é o objeto. Num cadastro de uma faculdade, seus objetos podem ser alunos, professores e matérias, por exemplo. Você escolhe quantos objetos terá, de forma que facilite na sua implementação.
      
       Na POO o programador é responsável por moldar o mundo dos objetos, e explicar para estes objetos como eles devem interagir entre si. Os objetos "conversam" uns com os outros através do envio de mensagens, e o papel principal do programador é especificar quais serão as mensagens que cada objeto pode receber, e também qual a ação que aquele objeto deve realizar ao receber aquela mensagem em específico.

Cada objeto seu será uma classe (que você pode pensar como um Record do Pascal ou Struct de C). Entretanto, você não vai apenas declarar quais são as váriaveis que farão parte de sua record (ou Struct). Você dirá também quais são as funções que podem ser aplicadas nesse objeto (essas funções que são declaradas dentro da classe são chamadas de métodos). Seus métodos só poderão ser aplicados nos objetos aos quais eles pertencem.
Ou seja, a partir de agora você não vai dividir seu programa apenas em funções, você vai dividi-lo em objetos (classes pra ser mais específica … um objeto é uma instância de uma classe). Essa pequena mudança parece mínima, e talvez de pouca valia, mas faz muita diferença.
Uma linguagem considerada orientada a objetos também deve proporcionar modificadores de acesso (para facilitar encapsulamento de dados e depuração), herança (facilita a legibilidade do código e facilita o reuso dele). Pode também oferecer sobrecarga, polimorfismo, entre outras facilidades.
Em suma, a principal vantagem é que com orientação a objetos é muito mais fácil organizar o teu programa.

Para que serve a Linguagem Orientada a Objetos?

       A POO (Programação Orientada a Objetos) foi criada para tentar aproximar o mundo real do mundo virtual: a idéia fundamental é tentar simular o mundo real dentro do computador. Para isso, nada mais natural do que utilizar Objetos, afinal, nosso mundo é composto de objetos.

      Em alguns contextos, prefere-se usar modelagem orientada ao objeto, em vez de programação.

       A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos.

      Na programação orientada a objetos, implementa-se um conjunto de classes que definem os objetos presentes no sistema de software. Cada classe determina o comportamento (definidos nos métodos) e estados possíveis (atributos) de seus objetos, assim como o relacionamento com outros objetos.

Como funciona a POO


      Um objeto é mais do que apenas uma variável ou uma estrutura, e uma classe é mais do que um tipo.
CLASSES


     Uma classe é uma estrutura que abstrai um conjunto de objetos com características similares. Uma classe define o comportamento de seus objetos - através de métodos - e os estados possíveis destes objetos - através de atributos.
     Em outras palavras, uma classe descreve os serviços oferecidos por seus objetos e quais informações eles podem armazenar.
   Classes não são diretamente suportadas em todas as linguagens, e são necessárias para que uma linguagem seja orientada a objetos.
    Uma classe representa um conjunto de objetos com características afins. Uma classe define o comportamento dos objetos através de seus métodos, e quais estados ele é capaz de manter através de seus atributos.

Como funciona a POO (Parte 2)

Atributos e métodos são a forma, orientada a objetos, de manipular os objetos de uma classe.
     Os Atributos são os elementos que definem a estrutura de uma Classe. Os atributos também são conhecidos como variáveis de classe, e podem ser divididos em dois tipos básicos: atributos de instância e de classe. Os valores dos atributos de instância determinam o estado de cada objeto. Um atributo de classe possui um estado que é compartilhado por todos os objetos de uma classe. Atributos de classe podem ser chamados também de atributos estáticos ou constantes.
     As mensagens enviadas a um objeto (métodos, ver abaixo) podem mudar o valor de um ou mais atributos, alterando o estado de um objeto.
     Um atributo é um dado para o qual cada objecto tem seu próprio valor.
    Atributos são, basicamente, a estrutura de dados que vai representar a classe.

Exemplo com javascript



<html>
<head>
   <script language="javascript">
      function alerta(){
         //Recuperando valores de atributos com o método "getAttribute"
         alert(document.form.texto.getAttribute("a_atrib"));
      }
   </script>
</head>
<body>
<form name="form">
   <!--Neste caso, "a_atrib" é um atributo criado pelo programador, 
       e "name" é um atributo nativo do html-->
      <input type="text" name="texto" id="texto" a_atrib="valor
 do atributo">
      <input type="button" name="bto" onClick="alerta();" value="Ok">
</body>
</form>
</html>

Como funciona a POO (Parte 3)

MÉTODO

      Um método é uma subrotina que é executada por um objeto ao receber uma mensagem. Os métodos determinam o comportamento dos objetos de uma classe e são análogos a funções ou procedimentos da programação estruturada. 
     O envio de mensagens (chamada de métodos) pode alterar o estado de um objeto.