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

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

1 Linguagens Orientadas a Objeto ALUNO: Álvaro Veloso Neto.

Apresentações semelhantes


Apresentação em tema: "1 Linguagens Orientadas a Objeto ALUNO: Álvaro Veloso Neto."— Transcrição da apresentação:

1 1 Linguagens Orientadas a Objeto ALUNO: Álvaro Veloso Neto

2 2 Conceito de Abstração Conhecer apenas as coisas que são indispensáveis para o uso de algo.

3 3 Abstração de Processo void ordenaBolha(listaNumeros *lista){ int i = 0; int j = 0; int aux; for(; i tamanho; i++){ for(j = i + 1; j tamanho; j++){ if(lista->elemento[i] > lista->elemento[j]){ aux = lista->elemento[i]; lista->elemento[i] = lista->elemento[j]; lista->elemento[j] = aux; } int main(){ ordenaBolha( &listaImpares); ordenaBolha( &listaPares); } Facilidade na construção, leitura e entendimento do programa.

4 4 Abstração de Dados Tipos de dados já estabelecidos e operações Sobre eles –Ponto-Flutuante –Dados Definidos pelo Usuário Cliente –Objeto –Interface –Mudanças Centralizadas no Módulo class funcionario{ private: int id; public: float salario; data dataNascimento; char* descricaoAtividade(); } int main(){ funcionario motorista; funcionario medico; motorista.descricaoAtividade(); medico.descricaoAtividade(); } class relatorio{ private: funcionario motorista; funcionario medico;. public: string geraRelatorioFuncionarios(); }

5 5 Encapsulamento Modularização (dados logicamente relacionados) –Unidade de Compilação –Programas Independentes para Reuso

6 6 Paradigma de Orientação a Objeto Programação Orientada a Procedimentos Programação Orientada a Objeto

7 7 Linguagens O.O Exemplos –C++ –Eiffel –Ada 95 –Java –Smalltalk

8 8 Linguagens O.O Herança –Facilitar o Reuso –Organização –Prejudica o Encapsulamento Herança Múltipla

9 9 Linguagens O.O Dados Abstratos –Dados e métodos sobre esses dados –Classes Variáveis da Instancia (objeto) Variáveis da Classe Variáveis Públicas Variáveis Privadas Variáveis Protegidas class funcionario{ protected: int id; public: float salario; data dataNascimento; char* descricaoAtividade(); } class estagiario : public funcionario{ private: char* nomeCurso; public: int getId(){ return id; }

10 10 Linguagens O.O Polimorfismo –Estático Funções Sobrepostas –Dinâmico Definição do tipo de forma dinâmica class poligono { public: void desenhar(); } class triangulo : public poligono{ public: void desenhar() {... }; } class quadrado : public poligono{ public: void desenhar() {... }; } int main(){ triangulo triang; quadrado quad; triang.desenhar(); poligono polig = quad; polig.desenhar(); }

11 11 Linguagens O.O Dados Abstratos Encapsulamento Herança Polimorfismo Comunicação Eficiente Entre Objetos

12 12 C++ Encapsulamento –Classes Variáveis e Funções Função Tipo Constructor e Destructor Tipos Incorporados

13 13 C++ Herança –Herança Múltipla

14 14 C++ Polimorfismo –Estático –Dinâmico

15 15 Padrões de Projeto O.O Designs comprovadamente eficientes. Alterações facilitadas.

16 16 Padrões de Projeto O.O Acoplamento Fraco e Coesão Forte. –Formas de Acoplamento Atributos Variável local É subclasse Implementa uma interface. –Benefícios Classes não são afetadas por mudanças em outras classes. São fáceis de compreender isoladamente. A migração fica facilitada.

17 17 Padrões de Projeto O.O GoF. –Membros Erich Gamma Richard Helm Ralph Johnson John Vlissides –Livro Padrões de Projeto – Soluções Reutilizáveis de Software O.O

18 18 Padrões de Projeto O.O Strategy –Definição Definir uma família de algoritmos, encapsular cada um, e torná-los intercambiáveis. Strategy permite mudar os algoritmos independentemente dos clientes que os usam. GoF –Resumindo Ter uma interface padrão para diversas estratégias.

19 19 Padrões de Projeto O.O Strategy

20 20 REFERÊNCIAS Conceitos de Linguagens de Programação (Robert W. Sebesta) Use a Cabeça! Padrões de Projetos (Eric Freeman, Elisabeth Freeman) Wikipedia –Paradigma de programação –Programação procedural –Orientação a objetos


Carregar ppt "1 Linguagens Orientadas a Objeto ALUNO: Álvaro Veloso Neto."

Apresentações semelhantes


Anúncios Google