Aula prática 14 Orientação a Objetos – C++ Parte 2

Slides:



Advertisements
Apresentações semelhantes
Paulo Marques Hernâni Pedroso
Advertisements

Herança, Polimorfismo e Classes Abstratas em Java
Pearson Education Slide 1. Pearson Education Slide 2 Cap í tulo 14 Criado por Frederick H. Colclough, Colorado Technical University Herança.
Modelagem Orientada a Objetos
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Iniciação ao Java – Márcio F. Campos
Refatorações Experiência é aquela coisa maravilhosa que permite que você reconheça um erro tão logo o cometa novamente F.P. Jones.
Polimorfismo e Classes Abstratas Profa
Introdução ao paradigma de programação: Orientado a Objetos
Alexandre Parra Site: Linguagem Java Alexandre Parra Site:
Alexandre Parra Site: Os Pilares da OO em Java Alexandre Parra Site:
Linguagem de Programação II
Linguagem de Programação II
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Programação Orientada a Objetos
Centro Integrado de Tecnologia da Informação
2002/2003 Programação Orientada para Objectos 1 Aula 7 - Herança Herança pública: relação é um. A relação tem um. A relação é composto por um. Ponteiros,
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Herança e Polimorfismo
Classes e objetos P. O. O. Prof. Grace.
JAVA: Conceitos Iniciais
Herança em C#.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 13 Orientação a Objetos – C++ Parte 1
Aula Prática If669 – Introdução à Programação
Linguagens de Programação
Conceitos básicos de orientação a objetos
Sobrecarga e Encapsulamento
Programação Orientada à Objetos
Linguagem de Programação II Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Aula 3 CoL, atividade Polimorfismo (late binding) Modificador final Modificador abstract Interfaces Herança múltipla Atribuição, Construtores, Destrutores,
Programação I Aula 2 (Métodos)
Paradigmas da Programação – Semestre 1 – Aula 2 Professores: Eduardo Mantovani Fábio de Paula.
Herança em Java.
Classes, Objetos, Atributos e Métodos JAVA
Linguagens de Programação II
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Orientação a Objetos Parte I
Programação orientada a objectos em C++
Programação Orientada à Objetos
Herança em POO Importante:
SISTEMAS DISTRIBUIDOS Aula 4
Orientação a Objetos Parte II
Aula Prática 1 Monitoria IP/CC (~if669). Verificação Dinâmica de Tipos Métodos de superclasses e subclasses: Uso de métodos de subclasses quando se é.
Análise Orientado aos Objetos Prof. Wolley W. Silva
Programação Orientada à Objetos
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Prof. Gilberto Irajá Müller
Introdução às Java Threads
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Herança e Polimorfismos
Paradigmas da Programação – Semestre 2 – Aula 1 Professores: Fábio de Paula Santos Eduardo Mantovani
Classes Abstratas e Interfaces GX – Aula05 1.
Paradigmas de Programação –Aula 7 Lab 2 Professores: Eduardo Mantovani Fábio Paula Santos.
Herança Modelagem e Programação Orientada a Objetos
Construtores e Destrutores
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Bruno Inojosa MCP .NET Framework
Introdução a Orientação a Objetos
Classes abstratas São classes das quais não se pode instanciar objetos. São classes das quais não se pode instanciar objetos. Seu objetivo é ser herdada.
Polimorfismo - Desenvolvido pela Profa. Luciana Porcher Nedel e alterado pela Profa. Isabel Harb Manssour ▐ Polimorfismo ▐ Exemplo ▐ Classes Abstratas.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Módulo II Capítulo 1: Orientação a Objetos
Relacionamentos UML e Polimorfismo
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
Prof.: Bruno Rafael de Oliveira Rodrigues. Herança Possibilita a uma classe usar campos ou métodos definidos em outra classe. Assim a classe pai possui.
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Diagrama de Classes Herança Dependências.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Aula prática 14 Orientação a Objetos – C++ Parte 2 Monitoria de Introdução à Programação

Roteiro Herança Polimorfismo Duvidas Exercícios Definição Em C++ Construtores Herança Múltipla Redefinição e sobrecarga de métodos Polimorfismo Métodos virtuais Classes virtuais puras Cast dinâmico Duvidas Exercícios

Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando as características existentes em uma classe a ser estendida. A nova classe é chamada de subclasse (ou classe derivada) e a classe existente é chamada de superclasse (ou classe base). Uma subclasse pode servir como superclasse, e assim por diante, permitindo a criação de uma hierarquia de classes relacionadas através da herança. Herança permite que código seja reutilizado, e ajuda as classes a representar melhor a realidade.

Herança – Em C++ Em C++, temos suporte à herança através da seguinte sintaxe: O acesso aos membros da classe base será no máximo o definido na herança. Se o modificador de acesso for omitido, será usado private.

Herança - Exemplo Por exemplo:

Herança - Construtores Uma classe derivada pode usar os construtores da classe base. O construtor padrão é usado, mas isso pode ser modificado: Note que o construtor de Base é chamado com parâmetro a, recebido na chamada do construtor de Derivada. O construtor da classe base sempre será executado antes do construtor da derivada.

Herança – Sobrecarga de métodos Uma classe derivada pode redefinir métodos da classe base, simplesmente declarando um novo método com a mesma assinatura. O método da classe base ainda estará disponível para ela através do operador :: . Os métodos são ditos sobrecarregados.

Herança – Herança Múltipla Classes derivadas podem herdar de mais de uma classe base: Se houver conflitos entre atributos e métodos das classes bases, o operador :: pode ser usado para resolvê-los.

Polimorfismo - Definição Capacidade de assumir formas diferentes. Em OO, se refere à capacidade de um objeto de uma classe base poder armazenar um objeto de uma de suas classes derivadas. Em C++, isso é feito através de ponteiros: Um ponteiro para uma classe base pode armazenar o endereço de uma classe derivada.

Polimorfismo – Métodos virtuais Quando chamamos um método sobrecarregado de um ponteiro de classe base que armazena um objeto de uma classe derivada, o método chamado é o da classe base. Mas podemos usar a diretiva virtual no método da base para forçar a checagem em tempo de execução de qual método deve ser usado:

Polimorfismo – Classes virtuais puras. Podemos, em C++, definir classes que nunca serão instanciadas, definindo somente a sua interface, a ser implementada nas sua classes derivadas. Isso é feito declarando métodos virtuais puros:

Dúvidas?

Exercício 1 Numa empresa, há dois tipos de empregados: empregados comissionados que recebem uma porcentagem de suas vendas e empregados que recebem um salário base além da comissão. Crie a classe CommisionEmployee que guarda informação do primeiro nome, último nome, número do seguro social, taxa de comissão e venda total do empregado. Deve ser possível calcular o ganho deste empregado e imprimir estas informações (Basta 1 método que imprima todas as informações). Crie também a classe basePlusCommisionEmployee que contém além destas informações o salário-base. Utilize o conceito de herança.