UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng

Slides:



Advertisements
Apresentações semelhantes
Classes C++ Class nome da classe { private: membros privados
Advertisements

Desenvolvimento de Sistemas Baseado na Transformação de Modelos
H ERANÇA E P OLIMORFISMO Prof. Thiago Pereira Rique
UML – MODELAÇÃO DA ESTRUTURA Professor Sandro Carvalho.
Java: Pacotes e Modificadores de Visibilidade
Orientação a Objetos: Modificador Final para Métodos e Classes
Modelagem Orientada a Objetos
1 Orientação a Objetos: Herança Alcides Calsavara.
Java: Pacotes e Modificadores de Visibilidade
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
Introdução a diagrama de classes e UML
Alexandre Parra Site: Os Pilares da OO em Java Alexandre Parra Site:
Linguagem de Programação II
Introdução à Modelagem Conceitual 1. Conceitos Básicos
Centro Integrado de Tecnologia da Informação
Aula 8 Polimorfismo.
1 Aula 7 Herança. 2003/2004 Programação Orientada para Objectos 2 Conceitos fundamentais: Herança Polimorfismo Ligação dinâmica.
Herança P. O. O. Prof. Ângela e Grace.
O.O.H.D.M. Modelagem Conceitual
Herança em C#.
Programação Orientada a Objetos com Java
Classes Revisando: –Forma de implementação de estruturas específicas –Atributos (grupos de dados) –Métodos (conjuntos de procedimentos)
Linguagens de Programação
Linguagem de Programação II
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
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
if669 - Introdução à Programação
Professora Lucélia Oliveira
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 12 – Overloading X Overriding Prof.a.
Programação orientada a objectos em C++
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Aula prática 14 Orientação a Objetos – C++ Parte 2
Projeto 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
Java Kickstart, day 2 Semelhanças com linguagem C.
Classes Abstratas P. O. O. Prof. Ângela e Grace.
Polimorfismo.
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Herança e Polimorfismos
Herança e Arquitetura em camadas
Generalização e herança Agregação e composição
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
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
Paradigmas da Programação – Semestre 1 – Aula 8 Professor: Eduardo Mantovani )
Bruno Inojosa MCP .NET Framework
Herança.
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.
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
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA TOCANTINS Campus Araguaína Continuação Modelagem Orientada a Objetos Técnico Subsequente.
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
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Diagrama de Classes Modelagem e Programação Orientada a Objetos Curso Superior de Tecnologia em Sistemas para Internet Prof. Cristiano Stüpp Nunes
1. 2 Programação Orientada a Objetos Prof. Maurício Rodrigues de Morais
Herança em Java Curso: Informática Disciplina: Programação Orientada a Objetos Prof. Abrahão Lopes
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Análise e Projeto de Sistemas Análise & modelagem conceitual Prof. Edjandir Corrêa Costa
Transcrição da apresentação:

UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng. da Computação IF62C - Fundamentos de Programação Semana 10 – parte II: Herança Múltipla Prof.a Tânia Preto / Prof. Robinson Vida

Herança Múltipla – Características (i/ Ocorre quando uma subclasse herda características de duas ou mais superclasses imediatas, ou seja, é "filha" de mais de uma classe; Permite combinar as características de várias superclasses existentes em uma nova classe; Um ponto a ser observado é quanto a manipulação de nomes de membros duplicados nas classes base, ou seja, quando herda as mesmas características de classes diferentes; Uso de qualificação: prefixar o nome do membro (atributo ou método) com o nome da classe base a que ele se refere, a fim de resolver o conflito.

Herança Múltipla – Exemplo 1

Herança Múltipla – Exemplo 2 Herança simples e herança múltipla no mesmo diagrama de classes: é possível ter os dois tipos de herança; Ocorre herança repetida: A mesma classe ascendente será herdada por uma classe descendente mais de uma vez.

Herança Múltipla – Exemplo 3 Herança simples e herança múltipla no mesmo diagrama de classes; Especialização X Generalização

Herança Múltipla em C++ - Características C++ permite a implementação de herança múltipla; Sintaxe: class SubClasse : <tipo de acesso> SuperClasse1, <tipo de acesso> SuperClasse2, ..... <tipo de acesso> SuperClasseN { // Definição da Classe } obs.: <tipo de acesso> pode ser private, public ou protected. Caso não seja colocado nenhum especificador de acesso, assume-se private como default.

Herança Múltipla em C++ - Exemplo class Hora { // classe base Hora protected: int hor, min, seg; public: Hora(int h, int m, int s) { hor = h; min = m; seg = s; } virtual void display() { std::cout << hor << “:” << min << “:” << seg; }; class Data { //Classe Base Data protected: int dia, mes, ano; public: Data(int d, int m, int a) { dia = d; mes = m; ano = a; virtual void display() { std::cout << dia << “/” << mes << “/” << ano;

Herança Múltipla em C++ - Exemplo – cont. class Arquivo : public Data, public Hora {// Classe Derivada Arquivo protected: char strArquivo[15]; public: Arquivo(char *nomeArquivo, int dd, int mm, int aaaa, int hh, int mn, int ss) : Hora(hh, mn, ss), Data (dd, mm, aaaa) { strcpy(strArquivo, nomeArquivo); } void display(); }; void Arquivo::display() // Implementação do novo método display { std::cout << strArquivo << ” ” ; Data::display(); // usa display de Data std::cout << ” “; Hora::display(); // usa display de Hora

“Herança Múltipla” em Java - Características Java não permite a implementação de herança múltipla; Uma maneira aproximada de contornar a necessidade de receber informações de entidades diferentes é através do uso de interfaces; Em Java uma classe filha só pode ter uma classe mãe, porém uma classe pode implementar várias interfaces; Uma interface descreve métodos, mas não os implementa; A classe é responsável por implementar os métodos descritos na interface.  Essa “implementação” pode ser considerada algo semelhante a uma herança;

“Herança Múltipla” em Java - Exemplo public interface Relogio { // descrição da interface public String getHoras(); } public interface Radio() { // descrição da interface public void liga(); public void desliga(); public void trocaEstacao(int frequencia);

“Herança Múltipla” em Java - Exemplo - continuação public class RadioRelogio implements Radio, Relogio { private String horarioAtual; // implementação das interfaces: public RadioRelogio { // Inicializa objeto } public String getHoras() { return horarioAtual; public void liga() { // Implementacao public void desliga() { // Implementacao public void trocaEstacao(int frequencia) { // Implementacao