·
Engenharia de Software ·
Linguagens de Programação
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
88
Fundamentos de Programação Orientada a Objetos
Linguagens de Programação
PUC
17
Padrões de Projeto em Programação Modular: Abordagens e Soluções
Linguagens de Programação
PUC
39
Programação Modular: Classes, Objetos e Construtores em Java
Linguagens de Programação
PUC
39
Programação Modular: Herança Múltipla e Conceito de Interface
Linguagens de Programação
PUC
20
Princípios SOLID e Programação Modular
Linguagens de Programação
PUC
41
Programação Modular: Coleções e Mapeamentos
Linguagens de Programação
PUC
25
Código Java: Estruturas e Operações com Classes de Comida
Linguagens de Programação
PUC
17
Programação Modular e Qualidade de Software
Linguagens de Programação
PUC
32
Atributos de Classe em Programação Modular
Linguagens de Programação
PUC
60
Princípios Fundamentais da Programação Modular e OO
Linguagens de Programação
PUC
Texto de pré-visualização
PROGRAMAÇÃO MODULAR POO segundo Alan Kay Polimorfismo muitas formas 1 ad hoc àdóque locução latina que significa para isso Que se destina a um fim específico ad hoc in Dicionário Priberam da Língua Portuguesa online 20082013 httpsdicionariopriberamorgad20hoc consultado em 12092022 Herança e polimorfismo Herança implica em polimorfismo universal de inclusão Universal toda classe pode ser extendida Inclusão uma referência para a classe mãe está incluída na classe filha Sobrescrevendo métodos A palavra chave super em Java indica a chamada do método equivalente da classe base Método virtual Disponível para qualquer método não estático Sobrescrita ou sobreposição overriding Método sobrescrito polimorfismo de inclusão Método virtual boolean equalsObject obj int hashCode Object clone String toString Métodos com assinatura idêntica Polimorfismo universal de inclusão Um objeto da classe derivada inclui uma referência para um objeto da classe base Comportamentos especializados nas classes filhas Sobrescrita e polimorfismo Sobrescrita e polimorfismo Pessoa Formas polimórficas dataNasc Data Um exemploexercício geometria João está aprendendo geometria plana mas tem preguiça de fazer contas Como ele também está aprendendo a programar ele deseja criar um pequeno sistema que o ajude a calcular áreas e perímetros de diversas formas geométricas bem como comparar áreas das formas Pareceu bom para João começar com quadrados retângulos triângulos retângulos e círculos matricula int Orientação por objetos nome String O que há para ser feito cargaHoraria int Como será feito idadedataAtualData int Projeto Como será feito Figura Polígono Curva Triângulo Quadrilátero Retângulo Trapézio Quadrado Círculo Elipse descricao String Formas geométricas Foco nos requisitos Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo Professor Formas geométricas Foco nos requisitos Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo Forma descricao String Formadescricao String area double perimetro double toString String salario double Foco nos requisit os Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo dataAdmissao Data Foco nos requisit os Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo salarioLiquido double Mãos na massa quer dizer no código descricao String João e a geometria João quer um sistema que lhe forneça áreas e perímetros de formas geométricas Quadrado retângulo triângulo retângulo e círculo João quer criar e adicionar formas em um conjunto e além do já pedido saber qual é a maior figura em área dentro as armazenadas Aluno ConjuntoGeometrico formas Forma ConjuntoGeometricocap maiorArea Forma addFormanova Forma toString String Forma descricao String Formadescricao String area double perimetro double toString String idCurso int Polimorfismo Universal de Inclusão Últimas considerações horasComplementares int Polimorfismo de universal de inclusão valorMensalidadehoraAuladouble double Um ponteiroreferência para a classe mãe pode apontar para a classe filha descricao String Abstração e independência O programador não precisa determinar qual implementação será efetivamente executado Resultados inesperados Programação sem cuidado Não têm implementação na classe mãe Polimorfismo de universal de inclusão Métodos virtuais puros ou abstratos Não têm implementação na classe mãe NECESSITAM ser implementadas nas classes filhas Classe abstrata Se a classe contém ao menos um método abstrato é uma classe abstrata Não pode ser instanciada PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Método virtual Classes abstratas Método virtual Modelos para classes filhas Método virtual Polimorfismo e linguagens Abstração Herança construtor da classe base sobrescrita métodos virtuais e métodos virtuais puros podem ter implementações e identificadores ligeiramente diferentes em cada linguagem PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Associação tardia Sintaxe Podem ou não ter métodos abstratos Classes e métodos finais Em Java Classes abstratas static Pessoa Devemos utilizar métodos e atributos protegidos nome string Devemos utilizar métodos e atributos protegidos Encapsulamento Segurança Devemos permitir sobrescritaoverride ou não seria melhor marcar todos os métodos como final endereco string OBRIGADO Dúvidas imprimeDados string PessoaFisica CPF string salario double imprimeDados string PessoaJuridica CNPJ string faturamento double imprimeDados string PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram
Envie sua pergunta para a IA e receba a resposta na hora
Recomendado para você
88
Fundamentos de Programação Orientada a Objetos
Linguagens de Programação
PUC
17
Padrões de Projeto em Programação Modular: Abordagens e Soluções
Linguagens de Programação
PUC
39
Programação Modular: Classes, Objetos e Construtores em Java
Linguagens de Programação
PUC
39
Programação Modular: Herança Múltipla e Conceito de Interface
Linguagens de Programação
PUC
20
Princípios SOLID e Programação Modular
Linguagens de Programação
PUC
41
Programação Modular: Coleções e Mapeamentos
Linguagens de Programação
PUC
25
Código Java: Estruturas e Operações com Classes de Comida
Linguagens de Programação
PUC
17
Programação Modular e Qualidade de Software
Linguagens de Programação
PUC
32
Atributos de Classe em Programação Modular
Linguagens de Programação
PUC
60
Princípios Fundamentais da Programação Modular e OO
Linguagens de Programação
PUC
Texto de pré-visualização
PROGRAMAÇÃO MODULAR POO segundo Alan Kay Polimorfismo muitas formas 1 ad hoc àdóque locução latina que significa para isso Que se destina a um fim específico ad hoc in Dicionário Priberam da Língua Portuguesa online 20082013 httpsdicionariopriberamorgad20hoc consultado em 12092022 Herança e polimorfismo Herança implica em polimorfismo universal de inclusão Universal toda classe pode ser extendida Inclusão uma referência para a classe mãe está incluída na classe filha Sobrescrevendo métodos A palavra chave super em Java indica a chamada do método equivalente da classe base Método virtual Disponível para qualquer método não estático Sobrescrita ou sobreposição overriding Método sobrescrito polimorfismo de inclusão Método virtual boolean equalsObject obj int hashCode Object clone String toString Métodos com assinatura idêntica Polimorfismo universal de inclusão Um objeto da classe derivada inclui uma referência para um objeto da classe base Comportamentos especializados nas classes filhas Sobrescrita e polimorfismo Sobrescrita e polimorfismo Pessoa Formas polimórficas dataNasc Data Um exemploexercício geometria João está aprendendo geometria plana mas tem preguiça de fazer contas Como ele também está aprendendo a programar ele deseja criar um pequeno sistema que o ajude a calcular áreas e perímetros de diversas formas geométricas bem como comparar áreas das formas Pareceu bom para João começar com quadrados retângulos triângulos retângulos e círculos matricula int Orientação por objetos nome String O que há para ser feito cargaHoraria int Como será feito idadedataAtualData int Projeto Como será feito Figura Polígono Curva Triângulo Quadrilátero Retângulo Trapézio Quadrado Círculo Elipse descricao String Formas geométricas Foco nos requisitos Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo Professor Formas geométricas Foco nos requisitos Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo Forma descricao String Formadescricao String area double perimetro double toString String salario double Foco nos requisit os Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo dataAdmissao Data Foco nos requisit os Área Perímetro Triângulo retângulo Retângulo Quadrado Círculo salarioLiquido double Mãos na massa quer dizer no código descricao String João e a geometria João quer um sistema que lhe forneça áreas e perímetros de formas geométricas Quadrado retângulo triângulo retângulo e círculo João quer criar e adicionar formas em um conjunto e além do já pedido saber qual é a maior figura em área dentro as armazenadas Aluno ConjuntoGeometrico formas Forma ConjuntoGeometricocap maiorArea Forma addFormanova Forma toString String Forma descricao String Formadescricao String area double perimetro double toString String idCurso int Polimorfismo Universal de Inclusão Últimas considerações horasComplementares int Polimorfismo de universal de inclusão valorMensalidadehoraAuladouble double Um ponteiroreferência para a classe mãe pode apontar para a classe filha descricao String Abstração e independência O programador não precisa determinar qual implementação será efetivamente executado Resultados inesperados Programação sem cuidado Não têm implementação na classe mãe Polimorfismo de universal de inclusão Métodos virtuais puros ou abstratos Não têm implementação na classe mãe NECESSITAM ser implementadas nas classes filhas Classe abstrata Se a classe contém ao menos um método abstrato é uma classe abstrata Não pode ser instanciada PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Método virtual Classes abstratas Método virtual Modelos para classes filhas Método virtual Polimorfismo e linguagens Abstração Herança construtor da classe base sobrescrita métodos virtuais e métodos virtuais puros podem ter implementações e identificadores ligeiramente diferentes em cada linguagem PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram Associação tardia Sintaxe Podem ou não ter métodos abstratos Classes e métodos finais Em Java Classes abstratas static Pessoa Devemos utilizar métodos e atributos protegidos nome string Devemos utilizar métodos e atributos protegidos Encapsulamento Segurança Devemos permitir sobrescritaoverride ou não seria melhor marcar todos os métodos como final endereco string OBRIGADO Dúvidas imprimeDados string PessoaFisica CPF string salario double imprimeDados string PessoaJuridica CNPJ string faturamento double imprimeDados string PUC Minas Bacharelado em Engenharia de Software Programação Modular Prof João Caram