A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Programação Orientada a Objetos

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Objetos"— Transcrição da apresentação:

1 Programação Orientada a Objetos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos

2 Histórico / Programação
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / Programação mudanças para compensar maior complexidade dos programas; no inicio os computadores eram programados por instruções binárias (cabos ENIAC); Assembly (baixo nível); Fortran (primeira de alto nível); Anos 60, programação estruturada; POO;

3 Histórico / POO / Simula
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO / Simula 1966 Noruega baseada em ALGOL 60 simulações de sistemas c/ grande número de objetos; serviu de base para TAD – Tipos Abstratos de Dados; serviu de base para SmallTalk;

4 Histórico / POO / SmallTalk
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO / SmallTalk Desenvolvida no Centro de Pesquisas da Xerox; década de 70; incorporação do princípio dos objetos ativos: reação a mensagens que ativam os comportamentos objetos deixam de ser apenas dados (sendo apenas manipulados); objetos agora são parte integrante da solução (a computação pode residir nos mesmos); a mais popular.

5 Histórico / POO / Outras
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO / Outras C++, baseada em C; Objetive-C, também baseada em C; Pascal orientado a objetos; Eiffel; TOOL, no Brasil

6 Histórico / POO / Comercialização
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO / Comercialização Smalltalk-80 -> ParcPlace empresa da Xerox; Digitalk -> Digitalk.

7 Histórico / POO x Estruturada
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO x Estruturada POO Simulação de modelos de sistemas: Automação de escritórios; Animação gráfica; Informática educativa; Instrumentos virtuais; Editores de texto; Bancos de dados; etc.

8 Histórico / POO x Estruturada
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO x Estruturada Estruturada Resolução de problemas através de algoritmos: Busca; Otimização e resolução numérica de equações.

9 POO Envolve conceitos comuns ao cotidiano: objetos e atributos;
Sistemas de Informação – 2ª Série Programação Orientada a Objetos POO Envolve conceitos comuns ao cotidiano: objetos e atributos; todos e partes; classes e membros; Pessoas empregam métodos de organização: Diferenciação – separação dos objetos através de suas características – árvore e computador; Distinção – separação dos objetos do todo e da parte – carro e motor; Formação de classes de objetos – separação entre bicicletas e motocicletas;

10 POO É implementada pelo envio de mensagens aos objetos;
Sistemas de Informação – 2ª Série Programação Orientada a Objetos POO É implementada pelo envio de mensagens aos objetos; Os objetos respondem ao estímulo de uma mensagem desencadeando uma seqüência de execução (computação reside no objeto); Durante a computação desencadeada por uma mensagem, o objeto respectivo pode enviar outra(s) mensagem(ns) para outro(s) objeto(s); A execução de um programa só termina quando todas as mensagens enviadas tiverem as respectivas computações terminadas.

11 Sistemas de Informação – 2ª Série
Programação Orientada a Objetos POO x Extruturada Geralmente onde se emprega a POO também se emprega a Estruturada e vice-versa; POO pode trazer mais facilidades; Programadores mais experientes estão mais acostumados com a programação estruturada (resistência a mudança de paradigma); Não confundir POO com Prog. Orientada a Eventos;

12 POO x Extruturada O zelador pega a chave e abre a porta
Sistemas de Informação – 2ª Série Programação Orientada a Objetos POO x Extruturada O zelador pega a chave e abre a porta Estruturada: Pensa-se automaticamente em como o zelador faz para abrir a porta utilizando a chave (cada verbo vira um procedimento); POO: Pensa-se inicialmente nos objetos zelador, porta e chave, nas suas características (atributos) e nas ações que podem realizar (métodos) (cada substantivo vira um objeto); Pode-se perceber a dificuldade de um programador acostumado a programação estruturada em mudar para POO.

13 Vantagens da POO Sensível redução no custo de manutenção do software;
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Vantagens da POO Sensível redução no custo de manutenção do software; Aumento na reutilização de código; Programação Estrutura também pode apresentar estas características, tudo depende de como se programa, assim como também é válido dizer que não basta utilizar-se da POO para garantir os itens acima.

14 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Objetos: qualquer indivíduo, lugar, coisa, evento, tela, relatório ou conceito que seja aplicável ao projeto do sistema. Os objetos possuem dados e funcionalidades que definem seus comportamentos. São instâncias de suas respectivas classes. Classe: Uma categoria de objetos semelhantes. Uma classe é, na verdade, uma planta baixa a partir da qual os objetos são criados. Instância: Sinônimo de objeto. Instanciar: Criar uma instância. Quando criamos um objeto dizemos que o instanciamos a partir de uma classe.

15 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Atributos: Valores guardados por um objeto ou uma classe. Um atributo é basicamente um único dado ou informação. Os atributos podem ser simples, como um número inteiro, ou podem ser objetos complexos, como um endereço ou um cliente. Cada objeto tem os seus próprios atributos que podem diferenciar em conteúdo de um objeto para outro. Métodos: Procedimentos que um objeto ou classe realizam. Um método é semelhante a uma função ou procedimento em uma programação estruturada. Pode-se ter o mesmo método implementado de várias maneiras, o que irá diferenciá-los é a mensagem passada para o objeto.

16 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Abstração: A definição da interface de uma classe (o que ela sabe e faz) Encapsulamento: O ocultamento da implementação do que uma classe/objeto sabe ou faz, sem que seja dito como é feito. Mensagens: Informações que são trocadas entre os objetos. Interface: Projeto de comunicação entre a classe/objeto e o mundo exterior. Grupo de mensagens que um objeto ou classe vai responder. Herança: Permite que tiremos vantagens das similaridades entre classes representando relacionamentos do tipo “é” ou “é semelhante”.

17 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Superclasse: Quando a classe “B” herda as características da classe “A” dizemos que “A” é uma superclasse de “B”. Subclasse: No exemplo acima dizemos que “B” é uma subclasse de “A”. Herança Simples: Quando a classe herda características de uma única classe. Herança Múltipla: Quando uma classe herda características de mais de uma classe. Classe Concreta: Uma classe que possui objetos instanciados a partir dela.

18 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Classe Abstrata: Uma classe que não possui objetos instanciados a partir dela. Redefinição: Termo usado para indicar que redefinimos atributos e/ou métodos nas subclasses para proporcionar um comportamento um pouco ou totalmente diferente. Sobrecarga: Sinônimo de Redefinição. Hierarquia de Classes: Um conjunto de classes relacionados por meio de herança. Raiz: A classe superior em uma hierarquia.

19 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Persistência: Diz respeito ao armazenamento permanente dos objetos em disco. Objeto Persistente: Um objeto que é salvo em um armazenamento permanente, tornando-o recuperável para uso futuro. Objeto Transitório: Um objeto que não é persistente. Associação: Relacionamento entre objetos. Por exemplo, clientes COMPRAM produtos. Cardinalidade: Indica quantos objetos estão envolvidos em cada lado de um relacionamento.

20 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Agregação: Indica que um objeto é composto por outros. Exemplo: Um carro é composto por vários itens (pneus, peças, assessórios) Colaboração: Para que determinados objetos funcionem adequadamente, precisam de uma maior interação com outros objetos. Exemplo: Para que um carro aumente a velocidade, o motor tem que aumentar a rotação, porém para que isto ocorra o acelerador tem que responder ao estímulo do usuário. Acoplamento: Nível de dependência de um objeto em relação a outro, principalmente quanto aos detalhes de implementação. Quanto menor melhor.

21 Orientação a Objetos - Conceitos
Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos - Conceitos Coesão: Quanto maior o esforço para explicar uma classe, menor a coesão. As classes devem ser explicadas da forma mais simples possível, ou seja, quanto maior a coesão, melhor. Polimorfismo: Diz respeito a possibilidade de tratar classes diferentes como se fossem a mesma, ou seja, a própria linguagem se encarrega de saber qual é a classe em questão.


Carregar ppt "Programação Orientada a Objetos"

Apresentações semelhantes


Anúncios Google