O documento introduz os principais conceitos da programação orientada a objetos, incluindo as diferenças em relação à programação estruturada, herança, polimorfismo, classes, objetos, métodos, encapsulamento de dados.
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 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
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 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…
5. 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
6. 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:
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 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
9. 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
10. 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.
12. 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.
13. 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.
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 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.