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

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

Programação Orientada a Objetos. Atualização material aula 01.

Apresentações semelhantes


Apresentação em tema: "Programação Orientada a Objetos. Atualização material aula 01."— Transcrição da apresentação:

1 Programação Orientada a Objetos

2 Atualização material aula 01

3 História  Se tornou muito conhecida no início da década de 1990 porém surgiu em  Até hoje é uma pratica não muito compreendida entre os desenvolvedores de software.  O paradigma de POO surgiu a partir da necessidade de desenvolver programas com mais qualidade, ter reaproveitamento de código e diminuir o tempo de desenvolvimento.  A programação estruturada e a base da POO  Um dos motivadores foi o avanço do hardware que não acompanhava o avanço do software.

4  Em 1967 surge a linguagem de programação SIMULA 67 que introduz o conceito de classe.  Na década de 1970 surge o Smalltalk uma linguagem de programação orientada a objetos que popularizou esse conceito.  Logo depois novas linguagem como Java, Object Pascal, Ada, C++ implementam de POO.  A base da POO é a abstração, não sendo uma ferramenta em si, mas sim uma forma de programação utilizada ar solucionar problemas do mundo real.

5  É uma forma de solução de problemas baseado na cooperação de elementos que prestam serviços a outros elementos, esse elementos são os objetos. “Suponha que eu precise consultar a disponibilidade de um livro para reserva em uma biblioteca quando eu solicitar essa informação ao bibliotecário, eu não preciso saber os detalhes de como o bibliotecário irá fazer a consulta e nem mesmo preciso interferir nessa consulta, eu apenas preciso saber o resultado. Nesse caso eu apenas faço a comunicação com o responsável e espero o resultado”. Programação Orientada a Objetos

6  O aumento da complexidade fez com que surgisse a necessidade de dividir a solução dos problemas em partes, distribuindo as responsabilidade em unidade independentes com a ocultando informações e a colaboração entre as unidades.  Sob o ponto de vista de informações temos objetos, que provem serviços, esse objetos tem estados, que dão soluções próprias ao serviços requisitados.  Na POO temos o objeto que deve ser criado, ele guarda um conjunto de dados, os atributos, e provem serviços através dos métodos.

7  Tipo de dados abstrato em POO é o que chamado de classe, na programação estrutura temos os tipos de dados primitivos e os tipos de dados derivados (record).

8 Fundamentos de Programação Orientada a Objetos

9  É um modelo utilizado para formatar a estrutura de um objeto, esse estrutura é utilizada para instanciar um objeto. A classe estabelece um conjunto de atributos e métodos comuns a um determinado objeto.  Classes abstratas  Possuem objetos que não estão relacionados a classe(ela mesmo), quando definimos uma classe abstrata para ela fazer sentido deve ter um ou mais métodos abstratos, ou seja métodos que não tem implementação.  Classes abstratas não podem ser instanciadas. Classes

10

11

12  Classes concretas  Possuem objetos relacionados a classe (ela mesma), e todos os métodos devem ter implementações. Classes

13

14 Exemplos de classes Exemplos de declaração de classes

15 Ruby

16 Python

17 Object Pascal

18 C++

19 PHP

20 Java

21  O objeto é um módulo que possui rotinas e estrutura de dados e consegue interagir com outros objetos através da troca de mensagens que é o mecanismo de comunicação entre objetos.  Troca de mensagem é a execução de um pedido de informação ou uma requisição feita por meio de parâmetros.  Os objetos são instanciados através de classes e possuem um estado. Objetos

22  Temos dois tipos de objetos  Objetos persistentes: quando um objeto é gravado em memória persistente, ou seja a memoria secundaria. Exemplo de persistência é a gravação de um objeto em um DB e a serialização.  Objetos transitórios: Utilizado em memória no computador. Objetos

23  São as propriedade que definem os objetos, o atributo pode ser comparado a uma variável.  Os atributos são divididos em duas categorias.  Atributos de classe: Podem ser acessados por todos os objetos dessa classe, dessa forma o atributo é compartilhado dessa mesma classe. Em Java definimos esse tipo de atributo como utilizando a palavra reservada static. Semelhante a esse conceito temos os métodos de classe.  Atributos de instancia: São atributos definidos no objeto e gerenciados pelo próprio objeto que tema a responsabilidade de manipular o seu valor. Semelhante a esse conceito temos os métodos de instância. Atributos

24

25  É uma forma que permite alterar características de atributos, efetuar controles lógicos que refletirão em ações.  Os métodos devem permitir manipular estados de variáveis através de funcionalidades.  Exemplo: métodos que calcula o debito de uma conta.  Os métodos são subprogramas que definem operações em objetos da classe. Método

26  Oferece a possibilidade de solução para um problema pois uma nova classe pode herdar dados e funcionalidades de uma classe já existente.  A nova classe pode adicionar, modificar dados e funcionalidades.  Uma classe herdada é chamada de classe derivada, subclasse, classe filha.  Temos dois tipos de herança  Herança simples: Quando uma nova classe é uma subclasse de uma única classe pai. Linguagem como Java, Delphi, C# permitem somente herança simples. Herança

27  Herança múltipla: Quando uma nova classe é uma subclasse de mais de uma classe pai.  Diferenças entre classe pai e classe filha.  A classe pai pode ter métodos privados que não são visíveis a classe filha.  A classe filha pode adicionar membros novo a ela.  A classe filha pode modificar comportamento de métodos herdados da classe pai.  A herança também pode ser chamada de generalização pelo fato de dar a possibilidade de herdar as características da classe pai pela classe filha dando a capacidade de transmitir automaticamente as propriedades e características a classe herdada.  Em Java utilizado a palavra reservada extends para fazer a herança. Herança

28

29

30  É a forma como é definido o modo de visualização (escopo de visibilidade) de atributos e métodos de uma classe em relação a seus objetos.  Dessa forma podemos ocultar recursos que não são de interesse da classe que usa esse recursos.  Dessa forma temos recursos visíveis e invisíveis.  Classificação do encapsulamento.  Seção pública: acesso total aos atributos e métodos.  Seção privada: acesso somente na própria classe dos atributos e métodos.  Seção protegida: esta relacionada a herança e permite que os atributos e métodos estejam visíveis na própria classe e nas classes herdadas. Encapsulamento

31  Tabela que mostra o escopo de visibilidade do Java Encapsulamento ModificadorClassePacoteSubclasseGlobalmente publicsim protectedsim não Sem Modificador (Padrão)sim não privatesimnão

32

33  Uma interface é uma estrutura muito parecida com classes abstratas, porém na interface os métodos não tem implementação  Uma interface não tem construtor e não pode ser declarado variáveis.  Quando uma classe herda uma interface todos os métodos da interface devem ser implantados na classe.  Interfaces são utilizadas para implementar herança múltipla em Java. Interfaces

34

35  A palavra polimorfismo significa ter muitas formas, e isso em programação ser refere a possiblidade de um método ter varias implementações ou assinaturas.  Métodos são polimórficos quando derivam de classes concretas, classe abstratas e interfaces.  É de responsabilidade do compilador atribuir a assinatura adequada de um método polimórfico.  Em Java utilizamos a para deixar explicito que um método é polimórfico. Polimorfismo

36

37 Exercícios e Prática


Carregar ppt "Programação Orientada a Objetos. Atualização material aula 01."

Apresentações semelhantes


Anúncios Google