Você está na página 1de 21

Sistemas de Informação – 2ª Série

Programação
Orientada a
Objetos

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;

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.

• década de 70.Sistemas de Informação – 2ª Série Programação Orientada a Objetos Histórico / POO / SmallTalk • Desenvolvida no Centro de Pesquisas da Xerox. • objetos agora são parte integrante da solução (a computação pode residir nos mesmos). • a mais popular. . • 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).

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

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

. • Informática educativa. • Animação gráfica.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. • Bancos de dados. • Editores de texto. • etc. • Instrumentos virtuais.

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. .

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

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

. • Não confundir POO com Prog. Orientada a Eventos. • Programadores mais experientes estão mais acostumados com a programação estruturada (resistência a mudança de paradigma). • POO pode trazer mais facilidades.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.

nas suas características (atributos) e nas ações que podem realizar (métodos) (cada substantivo vira um objeto). porta e chave.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. • Pode-se perceber a dificuldade de um programador acostumado a programação estruturada em mudar para POO.

assim como também é válido dizer que não basta utilizar-se da POO para garantir os itens acima. . • Aumento na reutilização de código.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. • Programação Estrutura também pode apresentar estas características. tudo depende de como se programa.

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

Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos . ou podem ser objetos complexos. Um método é semelhante a uma função ou procedimento em uma programação estruturada. .Conceitos • Atributos: Valores guardados por um objeto ou uma classe. como um endereço ou um cliente. Um atributo é basicamente um único dado ou informação. Os atributos podem ser simples. 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. Pode-se ter o mesmo método implementado de várias maneiras. como um número inteiro. o que irá diferenciá-los é a mensagem passada para o objeto.

sem que seja dito como é feito. • Herança: Permite que tiremos vantagens das similaridades entre classes representando relacionamentos do tipo “é” ou “é . • Mensagens: Informações que são trocadas entre os objetos. • Interface: Projeto de comunicação entre a classe/objeto e o mundo exterior.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. Grupo de mensagens que um objeto ou classe vai responder.Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos .

• Classe Concreta: Uma classe que possui objetos instanciados a partir dela.Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos . • Herança Simples: Quando a classe herda características de uma única classe.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 Múltipla: Quando uma classe herda características de mais de uma classe.

Sistemas de Informação – 2ª Série Programação Orientada a Objetos Orientação a Objetos . • Sobrecarga: Sinônimo de Redefinição.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. • Raiz: A classe superior em uma hierarquia. • Hierarquia de Classes: Um conjunto de classes relacionados por meio de herança. .

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

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

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