INTRODUÇÃO À
           PROGRAMAÇÃO POR
                   OBJECTOS
Trabalho Realizado por :
Élsio Miguel Correia Paiva Nº21226
Rui Pedro Alves Gomes Nº21218
Linguagens de Programação
Professora Elisabete dos Inocentes
O QUE VAMOS APRENDER?
 Identificar as diferenças entre uma Linguagem Estruturada e
  uma Linguagem Orientada por Objectos
 Compreender o conceito de herança e polimorfismo
 Adquirir a noção de objectos e sua classificação
 Adquirir as noções de classe, tipo, métodos, comportamentos
  e instâncias
 Representar esquematicamente uma classe
 Compreender o conceito de encapsulamento de dados
DIFERENÇAS ENTRE PROGRAMAÇÃO
  ESTRUTURADA E PROGRAMAÇÃO ORIENTADA
              POR OBJECTOS

 Um sistema orientado a objectos é dividido em componentes e não
  em processos, imagine um sistema financeiro, onde faríamos toda
  a administração de uma empresa. Temos as seguintes diferenças:

 POO : Temos um objeto de fornecedores, por exemplo, onde todas as
  funções estariam agrupadas no objeto e em nenhum outro lugar .

 Estruturada: As rotinas e funções de fornecedores estaria
  espalhada em todo o sistema, como em contas a pagar, contas a
  receber, cadastro, etc .




                              Imagine agora…
O CADASTRO DE FORNECEDORES, COM
 TODAS AS SUAS ROTINAS E FUNÇÕES:
 Estruturada : Se você futuramente precisar alterar algum dado,
  função ou propriedade, no que o seu programa será afectado? O
  que terá que ser reestruturado? Imagine a você voltar á fase de
  testes e analisando todo o seu sistema até ter cer teza que a
  alteração que você fez não desencadeou um finita listas de
  alterações que você terá que fazer em todo o sistema...


 POO : as propriedades, funções e rotinas do objecto fornecedores
  estão todas em um único objecto, encapsulados, facilitando essa
  necessidade futura de alterações e actualizações.




              Talvez surgiu uma pergunta na sua mente…
MAS E A POO, É MAIS FÁCIL DE SE
         PROGRAMAR COM ELA?
Talvez para nós que estamos acostumados com a estruturada o inicio
do trabalho com POO seja um pouco complicado, afinal estaremos nos
deparando com um novo conceito de programação.

Com a Estruturada você gastaria mais horas e horas para
implementar alterações, agora imagine com a POO, você cria um
objecto ou componentes com toda essa rotina e num próximo
programa apenas o utilizando... O ganho de produtividade será
enorme, além de uma grande facilidade para você mesmo
HERANÇA
 É um dos principais conceitos da POO. A herança é a partilha
  de atributos e operações entre classes com base em relações
  hierárquicas, ou seja, é a utilização de superclasses para criar
  as subclasses.
  Exemplo:
POLIMORFISMO
 Polimorfismo é a capacidade que um mesmo método pode se
  comportar de diferentes maneiras em diferentes classes.
  Enquanto a herança é baseada mais nas classes, o
  polimorfismo baseia-se nos métodos.
  Exemplo:
OBJECTO
A diferença entre classe e objeto:
 A "Classe" é um gabarito (como a planta de uma casa)
 o "Objeto" é a concretização do gabarito (casas feitas a partir
  da mesma planta)

Objectos de uma mesma classe têm um mesmo
comportamento:
 Clientes entram numa agência
 Clientes fazem depósitos e saques
 Clientes emitem cheques
OBJECTO
Cer tos objectos não t êm compor tamento:
 Contas não são vivas: não "fazem" nada

Objectos podem estar relacionados:
 Um cliente possui várias Contas
 Podemos usar objectos ao fazer sof tware também existem várias
  vantagens de fazer isso mas é um pouco difícil entender todas as
  vantagens de POO agora, por tanto…

Mencionemos apenas duas:
 É mais fácil conver sar com o cliente que pediu o sof tware se
  falarmos com objectos que existem no mundo dele (o mundo do
  sof tware fica mais per to do mundo real)
 O sof tware feito com OO pode ser feito com maior qualidade e pode
  ser mais fácil de escrever e, principalmente, alterar no futuro
CLASSE
Classe:
 Em orientação a objectos uma classe é uma estrutura que abstrai
  um conjunto de objectos com características similares. Uma classe
  define o compor tamento dos seus objectos através de métodos e os
  estados possíveis destes objectos através de atributos. Em outros
  termos, uma classe descreve os ser viços fornecidos pelos seus
  objectos e quais informações eles podem armazenar.
  Classes não são directamente supor tadas em todas as linguagens,
  e são necessárias para que uma linguagem seja orientada a
  objectos.
REPRESENTAÇÃO ESQUEMÁTICA DE UMA
            CLASSE
MÉTODOS
Métodos:
 Em orientação a objectos, um método é uma sub -rotina que é
  executada por um objecto ao receber uma mensagem. Os métodos
  determinam o compor tamento dos objectos de uma classe. O envio
  de mensagens (chamada de métodos) pode alterar o estado de um
  objecto.
INSTÂNCIAS
Instâncias:
 Sendo as instâncias de uma classe um conjunto de objectos que
  depois de serem criados, e porque possuem a mesma inter face,
  respondem ao mesmo conjunto de mensagens, isto é, são
  exteriormente utilizáveis de igual forma, então, a classe pode
  também ser vista como um tipo.
CONCEITO DE
  ENCAPSULAMENTO DE DADOS
 O acto de empacotar ao mesmo tempo dados e objectos é
  denominado de encapsulamento . O objeto esconde os seus
  dados de outros objectos e permite que os dados sejam
  acedidos pelos seus próprios métodos. Isso é chamado de
  ocultação de informações.

 O encapsulamento é o acto de ocultar do utilizador os
  detalhes da implementação de um objecto.

 O encapsulamento é importante porque separa a maneira
  como um objecto se comporta da maneira como ele é
  implementado.
CONCEITO DE
ENCAPSULAMENTO DE DADOS
 Cada objecto encapsula uma estrutura de dados e métodos. Uma
  estrutura de dados encontra -se no centro de um objecto. O objecto
  é manipulado por métodos que implementam as operações
  permitidas. A estrutura de dados pode ser usada somente com os
  métodos. Essa restrição ao acesso é denominada encapsulamento,
  que protege os dados contra adulteração. Os dados do objecto não
  podem ser usados, excepto com esses métodos.

Introdução à programação por objectos final

  • 1.
    INTRODUÇÃO À PROGRAMAÇÃO POR OBJECTOS Trabalho Realizado por : Élsio Miguel Correia Paiva Nº21226 Rui Pedro Alves Gomes Nº21218 Linguagens de Programação Professora Elisabete dos Inocentes
  • 2.
    O QUE VAMOSAPRENDER?  Identificar as diferenças entre uma Linguagem Estruturada e uma Linguagem Orientada por Objectos  Compreender o conceito de herança e polimorfismo  Adquirir a noção de objectos e sua classificação  Adquirir as noções de classe, tipo, métodos, comportamentos e instâncias  Representar esquematicamente uma classe  Compreender o conceito de encapsulamento de dados
  • 3.
    DIFERENÇAS ENTRE PROGRAMAÇÃO ESTRUTURADA E PROGRAMAÇÃO ORIENTADA POR OBJECTOS  Um sistema orientado a objectos é dividido em componentes e não em processos, imagine um sistema financeiro, onde faríamos toda a administração de uma empresa. Temos as seguintes diferenças:  POO : Temos um objeto de fornecedores, por exemplo, onde todas as funções estariam agrupadas no objeto e em nenhum outro lugar .  Estruturada: As rotinas e funções de fornecedores estaria espalhada em todo o sistema, como em contas a pagar, contas a receber, cadastro, etc . Imagine agora…
  • 4.
    O CADASTRO DEFORNECEDORES, COM TODAS AS SUAS ROTINAS E FUNÇÕES:  Estruturada : Se você futuramente precisar alterar algum dado, função ou propriedade, no que o seu programa será afectado? O que terá que ser reestruturado? Imagine a você voltar á fase de testes e analisando todo o seu sistema até ter cer teza que a alteração que você fez não desencadeou um finita listas de alterações que você terá que fazer em todo o sistema...  POO : as propriedades, funções e rotinas do objecto fornecedores estão todas em um único objecto, encapsulados, facilitando essa necessidade futura de alterações e actualizações. Talvez surgiu uma pergunta na sua mente…
  • 5.
    MAS E APOO, É MAIS FÁCIL DE SE PROGRAMAR COM ELA? Talvez para nós que estamos acostumados com a estruturada o inicio do trabalho com POO seja um pouco complicado, afinal estaremos nos deparando com um novo conceito de programação. Com a Estruturada você gastaria mais horas e horas para implementar alterações, agora imagine com a POO, você cria um objecto ou componentes com toda essa rotina e num próximo programa apenas o utilizando... O ganho de produtividade será enorme, além de uma grande facilidade para você mesmo
  • 6.
    HERANÇA  É umdos principais conceitos da POO. A herança é a partilha de atributos e operações entre classes com base em relações hierárquicas, ou seja, é a utilização de superclasses para criar as subclasses. Exemplo:
  • 7.
    POLIMORFISMO  Polimorfismo éa capacidade que um mesmo método pode se comportar de diferentes maneiras em diferentes classes. Enquanto a herança é baseada mais nas classes, o polimorfismo baseia-se nos métodos. Exemplo:
  • 8.
    OBJECTO A diferença entreclasse e objeto:  A "Classe" é um gabarito (como a planta de uma casa)  o "Objeto" é a concretização do gabarito (casas feitas a partir da mesma planta) Objectos de uma mesma classe têm um mesmo comportamento:  Clientes entram numa agência  Clientes fazem depósitos e saques  Clientes emitem cheques
  • 9.
    OBJECTO Cer tos objectosnão t êm compor tamento:  Contas não são vivas: não "fazem" nada Objectos podem estar relacionados:  Um cliente possui várias Contas  Podemos usar objectos ao fazer sof tware também existem várias vantagens de fazer isso mas é um pouco difícil entender todas as vantagens de POO agora, por tanto… Mencionemos apenas duas:  É mais fácil conver sar com o cliente que pediu o sof tware se falarmos com objectos que existem no mundo dele (o mundo do sof tware fica mais per to do mundo real)  O sof tware feito com OO pode ser feito com maior qualidade e pode ser mais fácil de escrever e, principalmente, alterar no futuro
  • 10.
    CLASSE Classe:  Em orientaçãoa objectos uma classe é uma estrutura que abstrai um conjunto de objectos com características similares. Uma classe define o compor tamento dos seus objectos através de métodos e os estados possíveis destes objectos através de atributos. Em outros termos, uma classe descreve os ser viços fornecidos pelos seus objectos e quais informações eles podem armazenar. Classes não são directamente supor tadas em todas as linguagens, e são necessárias para que uma linguagem seja orientada a objectos.
  • 11.
  • 12.
    MÉTODOS Métodos:  Em orientaçãoa objectos, um método é uma sub -rotina que é executada por um objecto ao receber uma mensagem. Os métodos determinam o compor tamento dos objectos de uma classe. O envio de mensagens (chamada de métodos) pode alterar o estado de um objecto.
  • 13.
    INSTÂNCIAS Instâncias:  Sendo asinstâncias de uma classe um conjunto de objectos que depois de serem criados, e porque possuem a mesma inter face, respondem ao mesmo conjunto de mensagens, isto é, são exteriormente utilizáveis de igual forma, então, a classe pode também ser vista como um tipo.
  • 14.
    CONCEITO DE ENCAPSULAMENTO DE DADOS  O acto de empacotar ao mesmo tempo dados e objectos é denominado de encapsulamento . O objeto esconde os seus dados de outros objectos e permite que os dados sejam acedidos pelos seus próprios métodos. Isso é chamado de ocultação de informações.  O encapsulamento é o acto de ocultar do utilizador os detalhes da implementação de um objecto.  O encapsulamento é importante porque separa a maneira como um objecto se comporta da maneira como ele é implementado.
  • 15.
    CONCEITO DE ENCAPSULAMENTO DEDADOS  Cada objecto encapsula uma estrutura de dados e métodos. Uma estrutura de dados encontra -se no centro de um objecto. O objecto é manipulado por métodos que implementam as operações permitidas. A estrutura de dados pode ser usada somente com os métodos. Essa restrição ao acesso é denominada encapsulamento, que protege os dados contra adulteração. Os dados do objecto não podem ser usados, excepto com esses métodos.