POO e C++: Herança e Polimorfismo
|
|
|
- Edison Franca Benevides
- 9 Há anos
- Visualizações:
Transcrição
1 POO e C++: Herança e Polimorfismo Márcio Santi Luiz Fernando Martha Conceito de Herança em POO Recurso que torna o conceito de classe mais poderoso; Permite que se construa e estenda continuamente classes desenvolvidas, mesmo por outras pessoas; Projeto OO: o objetivo é desenvolver classes que modelem e resolvam um determinado problema; Com o mecanismo de herança essas classes podem ser desenvolvidas incrementalmente a partir de classes básicas simples. 1
2 Conceito de Herança em POO Classe Básica Classe Derivada Conceito de Herança em POO Cada vez que se deriva uma nova classe, a partir de uma já existente, pode-se herdar algumas ou todas as características da classe pai (básica); É comum projetos em POO apresentarem até centenas de classes, sempre derivadas de um subconjunto pequeno de classes básicas; 2
3 Conceito de Herança em C++ Conceito de Herança em C++ Os métodos herdados são usados exatamente como os não herdados; Em nenhum trecho do código foi necessário mencionar que os métodos Caixa::Altura e Caixa::Largura foram herdados O uso de um recurso de uma classe não requer saber se este foi ou não herdado; Essas características podem ser traduzidas por flexibilidade para o programador; 3
4 Conceito de Herança em C++ O que não é herdado: Construtores; Destrutores; Operadores new; Operadores de atribuição; Relacionamentos friend; Atributos privados. Membros de Classe protected Além dos especificadores de acesso já apresentados: public e private, existe um outro especificador relacionado estritamente ao conceito de herança: protected Um atributo protected funciona como private sob o ponto de vista externo a classe; A diferença é que atributos protected são visíveis pelas classes derivadas, enquanto os private não o são; Essas características podem ser traduzidas por flexibilidade para o programador; 4
5 Membros de Classe Protected Herança: Construtores e Destrutores Quando uma classe é instanciada, o seu construtor é chamado. Se a classe for derivada de alguma outra, o construtor da classe base é chamado anteriormente; Se a classe base também é derivada de outra, o processo é repetido recursivamente até que uma classe não derivada seja alcançada; Isso é fundamental para se manter consistência para o objeto recém criado; 5
6 Herança: Construtores e Destrutores Herança: Construtores e Destrutores 6
7 Herança: Construtores e Destrutores Se uma classe base não possui um construtor sem parâmetros, a classe derivada tem que, obrigatoriamente, declarar um construtor, mesmo que esse construtor seja vazio: Herança: Construtores e Destrutores 7
8 Herança: Pública x Privada Por default as heranças são private. É por isso que nos exemplos acima especificou-se sempre as classes em herança da seguinte forma: class B : public A {...} Herança Privada: todos os atributos herdados tornam-se private na classe derivada; Herança Pública: Os atributos public e protected assim permanecem na classe derivada; Conceito de Polimorfismo em POO Polimorfismo = poli + morphos Polimorfismo descreve a capacidade de um código de programação comportar-se de diversas formas dependendo do contexto; É um dos recursos mais poderoso de linguagens orientadas a objetos: Permite trabalhar em um nível alto de abstração; Facilita a incorporação de novos pedaços em um sistema existente; 8
9 Conceito de Polimorfismo em C++ A EM C++ polimorfismo se dá através da conversão de ponteiros (ou referências) Utiliza-se objetos em hierarquia de classes: B Conceito de Polimorfismo em C++ Como B é derivado de A, todos os membros disponíveis em A também estarão em B; B é um super-conjunto de A: todas as operações que podem ser feitas com objetos de A também o podem através de objetos de B; Um objeto da classe B também é um objeto da classe A: isso significa a possibilidade de se converter um objeto de B para A A A B 9
10 Conceito de Polimorfismo em C++ A a b B A A B Polimorfismo em C++ 10
11 Polimorfismo: Redefinição de Métodos em uma Hierarquia E se definíssemos dois métodos com mesmo nome nas classes A e B? Não existe sobrecarga em uma hierarquia; A definição de métodos com mesmo nome em classes básica e derivada não os deixa disponíveis, mesmo com assinaturas distintas; A última definição esconde a anterior; Continuam acessíveis, mas não de forma direta; Polimorfismo: Redefinição de Métodos em uma Hierarquia 11
12 Polimorfismo: Redefinição de Métodos em uma Hierarquia É possível também declarar um método com mesmos nome e assinatura nas classes base e derivada: Polimorfismo: Redefinição de Métodos em uma Hierarquia A função chamaf pode ser usada para qualquer objeto da classe A e derivados; No exemplo acima ela é chamada com um objeto do tipo B. O método f é chamado no corpo de chamaf; Qual versão será executada? A::f(); B::f(); Era esse o comportamento desejado? 12
13 Polimorfismo: Redefinição de Métodos em uma Hierarquia Polimorfismo: Redefinição de Métodos em uma Hierarquia 13
14 Polimorfismo: Redefinição de Métodos em uma Hierarquia A função manipula_lista utiliza apenas os métodos add e remove; Qual o resultado que este programa vai imprimir na tela? a lista lb contém 0 elementos. Os métodos chamados serão List::Add e List::Remove, que não alteram a variável n; A manipulação deixou o objeto inconsistente internamente; Isso só seria possível caso os métodos chamados fossem ListN::Add e ListN::Remove Early Binding/ Late Binding Early Binding(EB): ligação dos identificadores em tempo de compilação; Late Binding (LB): ligação que permite a amarração dos identificadores em tempo de execução do programa; Para todos os exemplos apresentados até aqui, todas as amarrações de funções e métodos foram feitas em tempo de compilação (early binding); 14
15 Early Binding/ Late Binding O problema de EB é que o programador precisa saber quais objetos serão usados para as chamadas dos seus métodos; Linguagens convencionais como C, FORTRAM, PASCAL só utilizam EB; A vantagem de EB é a eficiência computacional; Early Binding / Late Binding eficiência flexibilidade E B LB 15
16 Linguagem C++: Híbrida C++ não é uma linguagem procedural tradicional, mas também não é uma linguagem orientada a objetos pura: é uma linguagem híbrida; C++ oferece EB e LB: o programador controla quando usa um ou o outro; A vantagem de EB é a eficiência computacional; Polimorfismo: Métodos Virtuais Em C++, LB é especificado declarando-se um método como virtual. LB só faz sentido para objetos que fazem parte de uma hierarquia de classes; Se um método fé declarado virtual em uma classe Basee redefinido na classe Derivada, qualquer chamada a f a partir de um objeto do tipo Derivada, mesmo via um ponteiro para Base, executará Derivada::f; A redefinição de um método virtual é também virtual (implícita e explicitamente); 16
17 Polimorfismo: Métodos Virtuais Polimorfismo: Destrutores Virtuais 17
18 Classes Abstratas Classes abstratas estão em um nível intermediário entre especificação e código de programação; Uma classe abstrata é quase uma especificação; ao mesmo tempo é um elemento da linguagem de programação; Estas classes permitem a definição das interfaces dos objetos sem entrar em detalhes de implementação; Classes Abstratas em C++ Em C++, classes abstratas são aquelas que apresentam ao menos um método virtual puro; C++ permite que uma classe apresente métodos sem implementação; Métodos sem implementação são sempre virtuais Métodos definidos em uma classe sem implementação, apenas com a definição de sua assinatura, é denominado método virtual puro; 18
19 Classes Abstratas: métodos virtuais puros um método virtual puro em C++ é definido definindo-o como virtual e atribuindo-lhe o valor zero: Uma classe abstrata não pode ter um objeto instanciado diretamente. É necessária a definição de uma classe derivada com a implementação de todos os métodos definidos na classe abstrata como virtuais puros. Classes Abstratas: métodos virtuais puros 19
20 Classes Abstratas: Motivação Especificação de interface, ou herança de tipo; Manipulação de objetos utilizando o recurso de polimorfismo; Nesse caso pode-se definir classes genéricas para representar um super-conjunto de sub-classes, que por sua vez vão representar os objetos instanciados; Veículo Moto Carro Onibus Caminhão Classes Abstratas: Trabalho Shape Circle Polygon 20
21 Classes Abstratas: Trabalho (Classe Model) Classes Abstratas: Exemplos Os objetos podem ser acessados sempre partindo-se do ponteiro para objetos da classe básica e os recursos de polimorfismo e LB permitem que o programador faça chamadas dos métodos sem saber para que tipo este endereço de memória está apontando;? 21
22 Classes Abstratas: Exemplos Classes Abstratas: Exemplos 22
23 Classes Abstratas: Exemplos Classes Abstratas: Exemplos 23
24 Classes Abstratas: Exemplos Classes Abstratas: Exemplos 24
25 Classes Abstratas: Exemplos Tabela de Métodos Virtuais Ponteiro de Funções 25
26 Tabela de Métodos Virtuais Ponteiro de Funções Tabela de Métodos Virtuais Ponteiro de Funções 26
27 Tabela de Métodos Virtuais Como C++ implementa o LB? Tabela de Métodos Virtuais A função chamaf executará o método fdo objeto passado como parâmetro; Dependendo do tipo do objeto, a mesma linha executará A::fou B::f. É como se a função fosse implementada assim: 27
28 Tabela de Métodos Virtuais Mas se na realidade fosse assim não teríamos o comportamento desejado: Cada classe derivada de Aprecisaria de um case dentro do switch; Esta função não poderia ser utilizada com as futuras classes derivadas; Quanto mais classes, pior seria a eficiência; O compilador não tem como saber o que seria derivado de A no futuro Conclusão: essa implementação é irreal. Tabela de Métodos Virtuais Na realidade o que C++ utiliza é uma tabela de métodos virtuais (TMV); TMV são nada mais que vetores de ponteiros de funções; O número de entradas da tabela é igual ao número de métodos virtuais da classe e cada posição guarda o ponteiro para uma função virtual; Quando uma classe contém algum método virtual, todos os seus objetos conterão uma referência para essa tabela; 28
29 Tabela de Métodos Virtuais Tabela de Métodos Virtuais No exemplo em questão, existem duas tabelas virtuais: uma para a classe A e outra para B; A tabela de A tem duas posições, uma para cada método virtual. A tabela de B tem uma posição a mais para o método h. A posição dos métodos na tabela é sempre a mesma, ou seja, se na tabela de A a primeira posição apontar para o método f, em todas as classes derivadas a primeira posição será de f. Na tabela de A, este ponteiro aponta para A::f, enquanto que em B ele aponta para B::f. Quando acontece alguma chamada no código, a função não é chamada pelo nome, e sim por indexação a esta tabela. Em qualquer tabela de classes derivadas de A o método f estará na mesma posição, no caso, a primeira: 29
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno
Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno Visibilidade de membros Membro da classe derivada pode usar os membros públicos ( public ) e protegidos ( protected ) da sua classe base (como
C com introdução a OO
... Centro Integrado de Tecnologia da Informação C com introdução a OO ... Centro Integrado de Tecnologia da Informação Aula 9 Ronald Dener - Instrutor Matheus Soares - Monitor 17 / outubro 17 / outubro
Laboratório de programação II
Laboratório de programação II Herança e Polimorfismo Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) LPG II - Java Orientação a Objetos (OO) Roberto Vedoato [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios da Orientação a Objetos
Conceitos de Programação Orientada a Objetos
Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não
Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto
Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural
Programação Orientada a Objetos para Redes de Computadores
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Polimorfismo Polimorfismo com Hierarquias Polimorfismo
Daniel Wildt
Orientação a Objetos 1 Daniel Wildt http://danielwildt.blogspot.com Agenda 2 Orientação a Objetos Classe x Objeto Representação classe Atributos / operações Construtores e Destrutores Liberando memória
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental
Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de Orientação a Objetos (OO) Roberto Vedoato [email protected] Programação Procedimental x Orientada a Objetos Objetivos e Benefícios
Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.
Abstração JAVA Definição Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Em Java, a abstração é alcançada através de classes abstratas e interfaces. Classes
Linguagens de Programação Aula 12
Linguagens de Programação Aula 12 Celso Olivete Júnior [email protected] Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução
Classes, Métodos e Propriedades
Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de
Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Classes e Encapsulamento
Classes e Encapsulamento Marcio Santi POO e C++ Tipo Abstrato de Dados (TAD) TAD atributos dados que o representam interface operações associadas como é manipulado 1 Exemplo: Editor Gráfico (classe círculo)
AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos
Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema
Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes [email protected] 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Linguagem de Programação I Apresentação da Disciplina
Linguagem de Programação I Apresentação da Disciplina Apresentação da Disciplina Conteúdo: 1) Orientação a Objetos - Características da OO - Reutilização de código 2) Introdução à Linguagem Java - Histórico
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces
Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas
O PARADIGMA ORIENTADO POR OBJETOS
O PARADIGMA ORIENTADO POR OBJETOS A idéia básica do paradigma orientado a objetos é imaginar que programas simulam o mundo real: um mundo povoado de objetos. Dessa maneira, linguagens baseadas nos conceitos
Sumário. BD Orientado a Objetos
Sumário 1. BD Orientado a Objetos (BDOO) 2. BD Objeto-Relacional (BDOR) 3. BD Temporal (BDT) 4. BD Geográfico (BDG) 5. Tecnologia XML e BD com suporte à gerência de dados XML BD Orientado a Objetos BDOO:
Programação Orientada a Objetos
Programação Orientada a Objetos Introdução Alguns conceitos importantes Orientação a Objetos Alguns conceitos importantes Programação Estruturada X Programação OO Classes Objetos Construtores e Destrutores
Polimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Java First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração
Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga
Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III
Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços
Linguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA
LPOO - Linguagem de Programação Orientada a Objetos Prof. Msc. Célio R. Castelano Página 1 de 7 Curso Ciência da Computação Professor Célio Ricardo Castelano UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO
Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces
Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract
Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Programação Orientada a Objetos
Programação Orientada a Objetos Herança e Polimorfismo Prof. Francisco de Assis S. Santos, Dr. São José, 2015. Herança em POO O conceito de herança torna mais rápido o desenvolvimento de softwares complexos
Programação Orientada a Objetos
Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Programação Orientada a Objetos Módulos 9/10/11 POO 2016/2017 História A OO surgiu no
Modelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Programação orientada a objetos
Programação orientada a objetos Neste capítulo: conceitos-chave que caracterizam as linguagens de programação orientadas a objetos; pragmática da programação orientada a objetos; o projeto de duas importantes
4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS
PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos
Linguagem de Programação I
Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Herança simples Composição Combinando composição e herança Polimorfismo e funções virtuais Classes abstratas
Interfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }
Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos
Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo
PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos : muitas formas de implementação de uma operação Permite esconder diferentes implementações atrás da mesma interface
Programação em Linguagem C++
Programação em Linguagem C++ Igor Kondrasovas Especialista em Computação Aplicada UDESC Sócio e Desenvolvedor na Inovativa Tecnologia [email protected] www.inovativatec.com Agenda Herança e Polimorfismo
Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br
Curso teórico: Orientação a Objetos Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br Objetivos Conhecer os conceitos fundamentais de orientação a objetos; Aprender a criar e utilizar
Linguagem de Programação IV Introdução
Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO
ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos picos Definição de estrutura Acessando membros de estruturas O tipo horario com struct Implementando horario com class Escopo
Linguagem de Programação C++
Exercício: Linguagem de Programação C++ Construa o diagrama de classes UML para as classes envolvidas na solução do exercício do slide 253. 267 Sobrecarga Linguagem de Programação C++ Neste exercício vimos
PCS3111. Laboratório de Programação Orientada a Objetos para Engenharia Elétrica. Aula 6: Polimorfismo
PCS3111 Laboratório de Programação Orientada a Objetos para Engenharia Elétrica Aula 6: Polimorfismo Escola Politécnica da Universidade de São Paulo Conceito de polimorfismo 2 Polimorfismo A palavra vem
Aula 9 Herança. Prof. Jefersson Alex dos Santos
Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária
Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático
Java Básico Objetivo: Os assuntos apresentados no decorrer do curso Java Básico incluem os conceitos gerais desta linguagem assim como a definição e utilização de seus recursos diversos, tais como: tipos
Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
Modelo de plano analitico
Modelo de pla analitico Disciplina: Algoritmização e Programação Curso: Licenciatura em Ensi de Informática A/Semestre: 1º A/2º Semestre Carga horária: 4 h/semana; Docente: Célio Sengo Introdução A linguagem
Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos
Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?
Criando Classes em PHP
Aula 05 Programação Orientação a objetos Criando Classes em PHP Orientação a objetos nada mais é que um paradigma de programação. Esse paradigma não é novo, desde a década de 60 já existiam linguagem que
Classe Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite [email protected] 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
Aprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.
Aprendendo Java 2 Rodrigo Mello Ramon Chiara Renato Villela Novatec Editora Ltda. www.novateceditora.com.br 1 Programação Orientada a Objetos O que é Programação Orientada a Objetos? É um paradigma de
Introdução à Programação. Encapsulamento e Herança
Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância
Conceitos de Linguagens de Programação
Faculdade de Ciências e Tecnologia Departamento de Matemática e Computação Bacharelado em Ciência da Computação Conceitos de Linguagens de Programação Aula 06 ([email protected]) Aula 6 Subprogramas
Programação Orientada a Objetos
Programação Orientada a Objetos Conceitos Orientação a Objetos: Conceito e Vantagens Metodologias da OO Orientação a Objetos Classes Introdução Paradigmas de Programação Programação Estruturada Procedimentos
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO
Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO Renato Dourado Maia Universidade Estadual de Montes Claros Engenharia de Sistemas Unidade IV Unidade IV Herança e Composição: Herança simples. Composição.
LINGUAGEM DE PROGRAMAÇÃO
Técnico em Informática LINGUAGEM DE PROGRAMAÇÃO Profª Ana Paula [email protected] JAVA Como qualquer linguagem de programação, a linguagem Java tem sua própria estrutura, regras de sintaxe
Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
6 Polimorfismo. Desenvolvimento OO com Java. Vítor E. Silva Souza ~ vitorsouza
Desenvolvimento OO com Java 6 Polimorfismo Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do Espírito
Herança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.
Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado
