Programação Orientada a Objetos para Redes de Computadores. Herança. Herança. Hierarquia de Classes. Hierarquia de Classes PARTE 2

Tamanho: px
Começar a partir da página:

Download "Programação Orientada a Objetos para Redes de Computadores. Herança. Herança. Hierarquia de Classes. Hierarquia de Classes PARTE 2"

Transcrição

1 Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista PARTE 2 Programação - Herança Herança Herança Criação de uma nova lasse de uma lasse existente Absorve os dados e os omportamentos da lasse existente Aprimora os dados e os omportamentos om novas apaidades Classe derivada herda da lasse base Grupo mais espeializado de objetos Comportamentos herdados da lasse base Os quais podem ser personalizados E outros omportamentos Reuso de software Failita implementação e utiliza ódigo já depurado Hierarquia de Classes Classe original Chamada de lasse base Classe nova Chamada de lasse derivada Outras linguagens dão nomes diferentes Ex.: Java hama de superlasse e sublasse Hierarquia de Classes Classe base direta É herdada expliitamente (de um nível aima da hierarquia) Classe base indireta É herdada de dois ou mais níveis da hierarquia Herança direta Herança indireta 1

2 Hierarquia de Classes Herança simples Herda de uma lasse base Herança múltipla Herda de múltiplas lasses base Classes base possivelmente não relaionadas Herança simples Herança múltipla publi Três Tipos de Herança Todo objeto da lasse derivada é também um objeto da lasse base Os objetos da lasse base não são objetos das lasses derivadas Ex.: Todos os arros são veíulos, mas nem todos os veíulos são arros É possível aessar membros não-private da lasse base Para aessar membros private da lasse base A lasse derivada deve usar funções-membro não-private herdadas Três Tipos de Herança private Uma alternativa à omposição proteted Esse tipo de herança é raramente utilizado Abstração Os programadores onentram-se em Aspetos omuns entre objetos no sistema Dessa forma, lasses base podem ser onstruídas apenas de maneira mais abstrata possível Os detalhes podem ser deixados para as lasses derivadas implementarem É um versus Tem um É um Herança O objeto da lasse derivada pode ser tratado omo um objeto da lasse base Ex.: O arro é um veíulo» As propriedades/omportamentos de veíulos também se apliam a um arro Tem um Composição O objeto ontém um ou mais objetos de outras lasses omo membros Ex.: O arro tem (uma) direção Reomendações de Engenharia de Software Funções-membro de uma lasse derivada Não podem aessar diretamente os membros private da lasse base Se uma lasse derivada pudesse aessar os membros private de sua lasse base As lasses que herdam dessa lasse derivada também poderiam aessar os dados da lasse base Isso propagaria aesso a variáveis privadas e os benefíios da oultação de informações seriam perdidos 2

3 Classes Base e Derivadas Classes Base e Derivadas O objeto de uma lasse é um objeto de outra lasse Ex.: O retângulo é um quadrilátero A lasse Retângulo herda da lasse Quadrilátero Quadrilátero é a lasse base Retângulo e Losango são as lasses derivadas Quadrilátero A lasse base em geral representa um onjunto maior de objetos que as lasses derivadas Ex.: Classe base: Vehile Inlui arros, aminhões, baros, biiletas et. Classe derivada: Car Um subonjunto menor e mais espeífio de veíulos Losango Retângulo Classes Base e Derivadas Classes Base e Derivadas Hierarquia de herança Relaionamentos de herança: Estrutura hierárquia do tipo árvore Cada lasse torna-se Uma lasse base Fornee dados/omportamentos a outras lasses OU Uma lasse derivada Herda dados/omportamentos de outras lasses Classes Base e Derivadas Classes Base e Derivadas Relação é-um Herança publi É espeifiada om: lass TwoDimensionalShape : publi Shape A lasse TwoDimensionalShape herda da lasse Shape Membros private da lasse base Não podem ser aessados diretamente Ainda assim são herdados Manipulados por meio das funções-membro publi herdadas 3

4 Classes Base e Derivadas Herança publi Membros publi e proteted da lasse base São herdados om o mesmo aesso do membro original Funções friend Não são herdadas Membros proteted Aesso proteted Nível intermediário de proteção entre publi e private Os membros proteted podem ser aessados por: Membros da própria lasse base Funções friend da própria lasse base Membros da lasse derivada Funções friend da lasse derivada Membros proteted Membros da lasse derivada Podem aessar membros publi e proteted da lasse base Podem simplesmente usar o nome dos membros Membros da lasse base redefinidos nas lasses derivadas Podem ser aessados por meio do nome da lasse base e do operador binário de resolução de esopo (::) Ex.: Base::membro_de_dados Relaionamento entre Classes Bases e Derivadas Hierarquia de herança Ex.: CommissionEmployee/BasePlusCommissionEmployee CommissionEmployee Nome, sobrenome, SSN, taxa de omissão, quantidade de vendas brutas BasePlusCommissionEmployee Nome, sobrenome, SSN, taxa de omissão, quantidade de vendas brutas E adiionalmente: salário-base Criando e Utilizando uma Classe CommissionEmployee x Classe CommissionEmployee Arquivo de abeçalho CommissionEmployee Espeifia serviços públios Construtor Funções get e set Funções-membro earnings e print Arquivo de ódigo-fonte CommissionEmployee Espeifia definições das funções-membro 4

5 Primeiro Exemplo de Herança x Primeiro Exemplo de Herança Primeiro Exemplo de Herança Primeiro Exemplo de Herança Criação SEM Herança da Classe BasePlusCommissionEmployee Classe BasePlusCommissionEmployee Grande parte do ódigo é semelhante a CommissionEmployee Membros de dados private Métodos publi Construtor Adições Membro de dados private basesalary Métodos setbasesalary e getbasesalary 5

6 Criação SEM Herança da Classe BasePlusCommissionEmployee Classe BasePlusCommissionEmployee Grande parte do ódigo é semelhante a CommissionEmployee Membros de dados private Métodos publi Construtor Adições Membro de dados private basesalary Métodos setbasesalary e getbasesalary Como riar a lasse BasePlusCommissionEmployee sem utilizar herança? Segundo Exemplo de Herança Segundo Exemplo de Herança 6

7 Vantagens do Uso de Herança Copiar e olar ódigo de uma lasse para a outra pode espalhar erros por múltiplos arquivos de ódigo-fonte Para evitar a dupliação de ódigo (e possivelmente erros), utilize a herança, em vez do método opiar e olar Em situações em que voê quer que uma lasse absorva os membros de dados e as funções-membro de outra lasse Vantagens do Uso de Herança Com a herança, os membros de dados e as funçõesmembro omuns a todas as lasses na hierarquia são delarados em uma lasse base Quando esses reursos omuns requerem mudanças, as alterações são feitas somente na lasse base As lasses derivadas herdam as alterações Sem a herança, as alterações preisariam ser feitas em todos os arquivos de ódigo-fonte que ontêm uma ópia do ódigo em questão Criação de uma Hierarquia de Herança Classe BasePlusCommissionEmployee Derivada da lasse CommissionEmployee É uma CommissionEmployee Herda todos os membros publi O onstrutor nuna é herdado Usa a sintaxe iniializadora da lasse base para iniializar membros de dados Adiiona o membro de dados basesalary Tereiro Exemplo de Herança Tereiro Exemplo de Herança 7

8 Tereiro Exemplo de Herança Tereiro Exemplo de Herança Sintaxe para iniialização da lasse base que utiliza iniialização de membro para passar argumentos para o onstrutor da lasse base Tenta aessar dados privados da lasse base diretamente... Tereiro Exemplo de Herança Tereiro Exemplo de Herança Criação de uma Hierarquia de Herança Inlusão do arquivo de abeçalho da lasse base O arquivo de abeçalho da lasse base deve ser inluído no arquivo de abeçalho da lasse derivada por três motivos: O ompilador deve saber que a lasse base existe O ompilador deve onheer o tamanho dos membros de dados herdados O ompilador deve garantir que os membros da lasse herdada sejam utilizados apropriadamente Criação de uma Hierarquia de Herança Uso de dados proteted Permite que a lasse BasePlusCommissionEmployee aesse diretamente os membros de dados da lasse base Os membros proteted da lasse base são herdados por todas as suas lasses derivadas Boa prátia de programação... Em primeiro lugar, delare os membros publi, em segundo, os membros proteted e, por último, os membros private 8

9 Quarto Exemplo de Herança Quarto Exemplo de Herança Quarto Exemplo de Herança Quarto Exemplo de Herança 9

10 Quarto Exemplo de Herança Uso de Membros de Dados proteted Vantagens A lasse derivada pode modifiar valores diretamente Evita a sobrearga de hamada de método set/get Aumenta ligeiramente o desempenho Uso de Membros de Dados proteted Desvantagens Não há verifiação de validação A lasse derivada pode atribuir valores inválidos Depende da implementação As funções da lasse derivada são provavelmente mais dependentes da implementação da lasse base Alterações na implementação da lasse base podem provoar alterações na lasse derivada O software é dependente Uso de Membros de Dados proteted É apropriado utilizar o espeifiador proteted quando uma lasse base tiver de forneer um serviço (uma função-membro) apenas a suas lasses derivadas (e friends) Não a outros lientes Delarar membros de dados de lasse base omo private (em vez de delará-los proteted) permite aos programadores alterarem a lasse base Sem alterar as implementações de lasse derivada 10

11 Uso de Membros de Dados proteted Deve-se evitar inluir membros de dados proteted em uma lasse base Em vez disso, funções-membro não-private devem ser usadas para aessar membros de dados private, assegurando que o objeto mantenha um estado onsistente Hierarquia de Herança Utilizando Dados private Reexamine a hierarquia Use a melhor prátia de engenharia de software Delare os membros de dados omo private Forneça as funções get e set publi Use o método get para obter os valores dos membros de dados Quinto Exemplo de Herança Quinto Exemplo de Herança 11

12 Hierarquia de Herança Utilizando Dados private Utilizar uma função-membro para aessar o valor de um membro de dados é um pouo mais lento que aessar os dados diretamente Quinto Exemplo de Herança Entretanto, os atuais ompiladores são projetados para realizar otimizações impliitamente (omo oloar inline as hamadas de funções-membro get e set) Em deorrênia disso, os programadores devem esrever ódigo que obedeça aos prinípios apropriados de engenharia de software e deixar questões de otimização para o ompilador Quinto Exemplo de Herança Hierarquia de Herança Utilizando Dados private Quando uma função-membro de lasse base é redefinida por uma lasse derivada, a versão da lasse derivada frequentemente hama a versão da lasse base para fazer o trabalho adiional Não utilizar o operador :: prefixado om o nome da lasse base provoa reursão infinita BasePlusCommissionEmployee::print () onst { out << "Base salary" << endl; } print (); // Reursão infinita! out << "\nbase salary: " << basesalary; Hierarquia de Herança Utilizando Dados private Inluir uma função-membro da lasse base om uma assinatura diferente na lasse derivada... Oulta a função da lasse base Tentativas de hamar a versão da lasse base pela interfae publi de um objeto da lasse derivada provoam erros de ompilação lass Base { publi:... void print ();... }; lass Derivada : publi Base { publi:... void print (int);... }; int main () { Derivada d; d.print ();... } Hierarquia de Herança Utilizando Dados private Inluir uma função-membro da lasse base om uma assinatura diferente na lasse derivada... Oulta a função da lasse base Tentativas de hamar a versão da lasse base pela interfae publi de um objeto da lasse derivada provoam erros de ompilação lass Base { publi:... void print ();... }; lass Derivada : publi Base { int main () { publi: Derivada d;... d.print (); void print (int); X Erro } de ompilação! }; 12

13 Construtores e Destrutores em Classes Derivadas Instaniando um objeto de lasse derivada Cadeia de hamadas de onstrutor O onstrutor de lasse derivada invoa o onstrutor de lasse básia Impliitamente ou expliitamente Construtores e Destrutores em Classes Derivadas Instaniando um objeto de lasse derivada Cadeia de hamadas de onstrutor Base da hierarquia de herança Último onstrutor hamado na adeia, mas primeiro a terminar a exeução Ex.: Hierarquia CommissionEmployee/BasePlusCommissionEmployee» CommissionEmployee é o onstrutor hamado por último e o primeiro a terminar a exeução Iniializando membros de dados Cada onstrutor de lasse base iniializa os respetivos membros de dados herdados pela lasse derivada Construtores e Destrutores em Classes Derivadas Quando um programa ria um objeto de lasse derivada O onstrutor da lasse derivada hama imediatamente o onstrutor da lasse base O orpo do onstrutor da lasse base exeuta Em seguida, os iniializadores de membro da lasse derivada exeutam Por fim, o orpo do onstrutor da lasse derivada exeuta Esse proesso oloa a hierarquia em asata se ela ontiver mais de dois níveis Construtores e Destrutores em Classes Derivadas Destruindo um objeto de lasse derivada Cadeia de hamadas de destrutor Ordem inversa da adeia de onstrutor Primeiro, o destrutor de um objeto de lasse derivada é hamado O destrutor da lasse derivada só invoa o destrutor da lasse base seguinte no nível superior da hierarquia após o término de sua tarefa Continua até que o destrutor da lasse base no topo da hierarquia seja hamado Depois do destrutor da lasse base no topo, o objeto é removido da memória 13

14 Construtores e Destrutores em Classes Derivadas Construtores, destrutores e operadores sobrearregados de atribuição definidos na lasse base Não são herdados pelas lasses derivadas! Construtores e Destrutores em Classes Derivadas Criação de um objeto de uma lasse derivada em que tanto a lasse base quanto a lasse derivada ontenham objetos de outras lasses Construtores para os objetos-membro da lasse base exeutam primeiro, em seguida o onstrutor da lasse base, os onstrutores para os objetos-membro da lasse derivada e o onstrutor da lasse derivada exeutam Os destrutores dos objetos da lasse derivada são hamados na ordem inversa de seus onstrutores orrespondentes Sexto Exemplo de Herança Sexto Exemplo de Herança 14

15 Sexto Exemplo de Herança Sexto Exemplo de Herança Sexto Exemplo de Herança Sexto Exemplo de Herança Sexto Exemplo de Herança 15

16 Herança publi, proteted e private Herança publi Membros publi da lasse base Se tornam membros publi da lasse derivada Membros proteted da lasse base Se tornam membros proteted da lasse derivada Herança publi, proteted e private Herança proteted (não é um relaionamento é um ) Membros publi e proteted da lasse base Se tornam membros proteted da lasse derivada Herança private (não é um relaionamento é um ) Membros publi e proteted da lasse base Se tornam membros private da lasse derivada Membros private da lasse base Não podem ser aessados Esreva um programa que implemente a lasse Cadastro que possui nome e idade omo atributo e oferee omo métodos públios funções do tipo get para obter os valores desses atributos. Implemente ainda a lasse PubCadastro que herda os métodos e atributos da lasse Cadastro e ainda adiiona o atributo trabalho e um método públio para aessar o novo atributo.? 16

17 E se fosse riada uma lasse que herdasse em modo private? 17

18 Exemplo 2 Exemplo 2 Esreva um programa que implemente a lasse Cadastro que possui nome e idade omo atributo e oferee omo métodos públios funções do tipo get para obter os valores desses atributos. Implemente ainda a lasse Senha que possui o atributo senha e uma função get. Por fim, implemente a lasse PubCadastro que herda os métodos e atributos da lasse Cadastro e Senha e ainda adiiona o atributo trabalho e um método públio para aessar o novo atributo.? Exemplo 2 Exemplo 2 18

19 Exemplo 2 Exemplo 2 Exemplo 2 Leitura Reomendada Capítulos 12 do livro Deitel, C++ How to Program, 5th edition, Editora Prentie Hall,

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Herança. Herança. Hierarquia de Classes. Prof. Miguel Elias Mitre Campista

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Herança. Herança. Hierarquia de Classes. Prof. Miguel Elias Mitre Campista Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação em (Continuação) Relembrando da Última Aula... Sobrearga de operadores Mais

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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++ - Herança Herança Criação de uma nova classe de uma

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Sobrecarga de operadores

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal

Programação Orientada a Objetos para Redes de Computadores. Polimorfismo com Hierarquias de Herança. Exemplo: Hierarquia Animal 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 de Herança

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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

Leia mais

Programação aplicada de computadores Andréa Maria Pedrosa Valli

Programação aplicada de computadores Andréa Maria Pedrosa Valli Universidade Federal do Espírito Santo Laboratório de Computação de Alto Desempenho - LCAD Programação aplicada de computadores Andréa Maria Pedrosa Valli 1 Classes Parte 4 1. Herança 2. Classes básicas

Leia mais

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Exemplos de Polimorfismo. Exemplo: Hierarquia Animal

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Exemplos de Polimorfismo. Exemplo: Hierarquia Animal Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação (Continuação) Relembrando da Última Aula... Herança Mais exemplos de programação

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Herança Mais exemplos de

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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++ - Template Templates Funções templates Especificam

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Polimorfismo Mais exemplos

Leia mais

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Empacotador de Préprocessadores. Primeiro Exemplo Usando Classes em C++ Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação (Continuação) Relembrando da Última Aula... Ponteiros e strings Mais exemplos

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Ponteiros e strings Mais

Leia mais

BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho

BCC Programação Orientada a Objectos(POO) Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Herança BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Introdução I A herança é uma forma de

Leia mais

Conversão de Tipos. BCC Programação Orientada a Objectos(POO)

Conversão de Tipos. BCC Programação Orientada a Objectos(POO) Conversão de Tipos BCC 221 - Programação Orientada a Objectos(POO) Guillermo Cámara-Chávez Departamento de Computação - UFOP Baseado nos slides do Prof. Marco Antônio Carvalho Introdução Como já vimos

Leia mais

Classes e Objetos. Prof. Leonardo Barreto Campos 1

Classes e Objetos. Prof. Leonardo Barreto Campos 1 Classes e Objetos Prof. Leonardo Barreto Campos 1 Sumário Introdução; Escopo de Classe e Acesso a Membros de Classes; Exercício; Os Métodos get e set; Separação de Interface e Implementação; Construtores

Leia mais

Programação Orienta a Objetos

Programação Orienta a Objetos Programação Orienta a Objetos Linguagem de Programação 1 Os atores principais do paradigma de projetos orientados a objetos são chamados de objetos. Um objeto se origina de uma classe, que é uma especificação

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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++ - Classes e Objetos (Continuação) Empacotador de Pré-processador

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Empacotador de Pré-processador. Empacotador de. Primeiro Exemplo Usando Classes em C++

Programação Orientada a Objetos para Redes de Computadores. Empacotador de Pré-processador. Empacotador de. Primeiro Exemplo Usando Classes em C++ 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++ - Classes e Objetos (Continuação) Empacotador de Pré-processador

Leia mais

Introdução ao Java. Prof. Herbert Rausch Fernandes

Introdução ao Java. Prof. Herbert Rausch Fernandes Introdução ao Java Prof. Herbert Rausch Fernandes Orientação a Objetos Programação Orientada por Objetos: é a construção de sistemas de software como uma coleção estruturada de implementações de tipos

Leia mais

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO HERANÇA A sintaxe de herança a para C++ e para Java são diferentes. Além m disso, em C++ é possível construir herança a múltipla...

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 9 Programação orientada a objetos: herança Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 9.1 Introdução Herança Uma forma de reutilização de software em que uma nova classe

Leia mais

Programação Orientada a Objetos

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

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Herança Prof. Edwar Saliba Júnior Fevereiro de 2011 Unidade 07 Herança 1 Reutilização / Reuso São palavras-chave no conceito de herança; Reutilizar um código que já tenha sido escrito, e que já esteja

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

Leia mais

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes

AULA 16 HERANÇA. Disciplina: Programação Orientada a Objetos Professora: Alba Lopes AULA 16 HERANÇA Disciplina: Programação Orientada a Objetos Professora: Alba Lopes alba.lopes@ifrn.edu.br REPETIÇÃO DE CÓDIGO Tomemos como exemplo a classe Funcionario, que representa o funcionário de

Leia mais

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto

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

Leia mais

Curso Profissional de Gestão e Programação de Sistemas Informáticos

Curso Profissional de Gestão e Programação de Sistemas Informáticos Curso Profissional de Gestão e Programação de Sistemas Informáticos Disciplina: Programação e Sistemas de Informação Classes em C++ Módulos 10 e 11 POO A professora: Sandra Soares Classes em C++ Uma class

Leia mais

POO e C++: Herança e Polimorfismo

POO e C++: Herança e Polimorfismo 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

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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++ - Arrays e Ponteiros Arrays Estruturas de dados que

Leia mais

ORIENTAÇÃO A OBJETOS SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

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

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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++ - Sobrecarga de operadores Sobrecarga de Operadores

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Fundamentos de Sobrecarga de Operadores. Sobrecarga de Operadores

Programação Orientada a Objetos para Redes de Computadores. Fundamentos de Sobrecarga de Operadores. Sobrecarga de Operadores 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++ - Sobrecarga de operadores Sobrecarga de Operadores

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

Programação Orientada a Objetos JAVA - NETBEANS Programação Orientada a Objetos JAVA - NETBEANS Agenda Programação Orientada a Objeto (POO) Conceitos sobre POO Pilares da POO Objeto Classe Construtores Troca de Mensagens Pilares da POO Encapsulamento

Leia mais

Programação Orientada a Objetos para Redes de Computadores

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++ - TRATAMENTO DE EXCEÇÃO Tratamento de Exceção Exceções

Leia mais

Herança Sendo uma linguagem orientada a objetos Java oferece mecanismos para definir classes derivadas a partir de classes existentes; As classes deri

Herança Sendo uma linguagem orientada a objetos Java oferece mecanismos para definir classes derivadas a partir de classes existentes; As classes deri Herança Forma de reutilização de software Encapsular estrutura e comportamento em um tipo não é um conceito exclusivo da orientação a objetos, pois já era usado na programação de tipos abstratos. O que

Leia mais

Fundamentos de Programação 2

Fundamentos de Programação 2 Fundamentos de Programação 2 ET43G. Polimorfismo. Classes abstratas e interfaces. Aula 12 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia Eletrônica 3º Período

Leia mais

Orientação a Objetos AULA 06

Orientação a Objetos AULA 06 Orientação a Objetos AULA 06 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Herança ü Sobrescrita e reescrita de métodos ü Sobrecarga ü Efeitos de Herança ü Polimorfismo 2 Um dos principais recursos

Leia mais

Programação Orientada a Objetos

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

Leia mais

Linguagem de Programação C++

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

Leia mais

Laboratório de programação II

Laboratório de programação II Laboratório de programação II Herança e Polimorfismo Edson Moreno edson.moreno@pucrs.br http://www.inf.pucrs.br/~emoreno Herança Mecanismo da Orientação a Objeto que permite criar novas classes aproveitando

Leia mais

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Tratamento de Exceção. Tratamento de Exceção. Tratamento de Exceção

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Tratamento de Exceção. Tratamento de Exceção. Tratamento de Exceção Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Entrada e saída Mais exemplos

Leia mais

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 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

Leia mais

Programação Avançada C++ Slide 12 Nielsen Castelo Damasceno

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

Leia mais

Programação C# + ASP.NET

Programação C# + ASP.NET Programação C# + ASP.NET Prof. MSc. Daniel Menin Tortelli e-mail: danielmenintortelli@gmail.com Site: http://sites.google.com/site/danielmenintortelli/home 16/10/2017 Programação C# ASP.NET - Prof. MSc.

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

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. 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?

Leia mais

Java para Desktop. Programação Orientada à Objetos 2 JSE

Java para Desktop. Programação Orientada à Objetos 2 JSE Java para Desktop Programação Orientada à Objetos 2 JSE Encapsulamento significa "ocultar informações, ele define que cada objeto contém todos os detalhes de implementação necessários sobre como ele funciona

Leia mais

C com introdução a OO

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

Leia mais

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

Linguagem de Programação. Diagrama de classes

Linguagem de Programação. Diagrama de classes Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um

Leia mais

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista == Laboratório 4 == 1. Escreva um programa que inicializa dois objetos

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Entrada e saída Mais exemplos

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Daniel Wildt

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

Leia mais

Linguagem de Programação I Apresentação da Disciplina

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

Leia mais

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista == Laboratório 11 == 1. Escreva uma classe Carrinho para armazenar Itens

Leia mais

Programação Orientada a Objetos em C++: introdução à herança

Programação Orientada a Objetos em C++: introdução à herança Programação Orientada a Objetos em C++: introdução à herança Disciplina de Programação Científica II Aula 15 de 18 21/06/2013 Professor Giovani Gracioli giovanig@gmail.com Objetivos Os objetivos dessa

Leia mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

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 paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais

Introdução à Programação. Encapsulamento e Herança

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

Leia mais

Linguagem de Programação II Herança

Linguagem de Programação II Herança Linguagem de Programação II Herança Prof. Alessandro Borges 2 Tópicos Reutilização de classes Delegação Herança Definição Superclasse e Subclasse A palavra reservada extends Método construtor com herança

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento

Leia mais

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

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,

Leia mais

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2

BCC221 Programação Orientada a Objetos. Prof. Marco Antonio M. Carvalho 2014/2 BCC221 Programação Orientada a Objetos Prof. Marco Antonio M. Carvalho 2014/2 Site da disciplina: http://www.decom.ufop.br/marco/ Moodle: www.decom.ufop.br/moodle Lista de e- mails: bcc221- decom@googlegroups.com

Leia mais

Introdução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos

Introdução à Programação Orientada a Objetos. Programação Estruturada vs Programação Orientada a Objetos Introdução à Programação Orientada a Objetos O desenvolvimento de software é extremamente amplo. Nesse mercado, existem diversas linguagens de programação, que seguem diferentes paradigmas. Um desses paradigmas

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco 1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ O que acontecerá se um programa driver para a classe Matriz efetuasse a seguinte sequência de instruções: #include "Matriz.h" int main() char opcao; switch (opcao) case 1: } 201 } int l, c; cout

Leia mais

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama]

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] [Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama] Objetivos Revisar conceitos de Orientação a Objetos Classes Objetos Encapsulamento Herança Sobrescrita de métodos Sobrecarga de métodos

Leia mais

Linguagem de Programação C++

Linguagem de Programação C++ Exercício: Com base nos conceitos estudados, implemente uma classe que possibilite a instanciação de matrizes de números naturais, com qualquer quantidade de linhas e colunas. Especifique os membros de

Leia mais

Programação Orientada a Objetos

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

Leia mais

Conceitos de Programação Orientada 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

Leia mais

Programação C# + ASP.NET

Programação C# + ASP.NET Programação C# + ASP.NET Prof. MSc. Daniel Menin Tortelli e-mail: danielmenintortelli@gmail.com Site: http://sites.google.com/site/danielmenintortelli/home 09/11/2015 Programação C# ASP.NET - Prof. MSc.

Leia mais

Sobrecarga de Operadores

Sobrecarga de Operadores BCC702 - Programação de Computadores II Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto junho 2010 Dificuldade: Tipos definidos pelo programador (classes) não podem ser

Leia mais

Programação Orientada a Objetos para Redes de Computadores. Arrays. Arrays

Programação Orientada a Objetos para Redes de Computadores. Arrays. Arrays Programação Orientada a Objetos para Redes de Computadores Elias Mitre http://www.gta.ufrj.br/~miguel PARTE 2 Programação em C++ - Arrays e Ponteiros Arrays Arrays Estruturas de dados que contêm itens

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Introdução a classes e objetos. Copyright 2006 by Pearson Education

Introdução a classes e objetos. Copyright 2006 by Pearson Education 3 Introdução a classes e objetos 3.1 Introdução Programas do Capítulo 2 Todas as instruções estavam localizadas na função main. Em geral Os programas consistirão Na função main e Em uma ou mais classes

Leia mais

Introdução a Programação Orientada a Objetos

Introdução a Programação Orientada a Objetos Introdução a Programação Orientada a Objetos Fernando de Simas, Airton de Souza, Sérgio Roberto Centro de Ciências Tecnológicas da Terra e do Mar Universidade do Vale do Itajaí UNIVALI. 88302-202 Itajaí

Leia mais

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR

Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Programação: Compiladores x Interpretadores PROF. CARLOS SARMANHO JR Introdução Compiladores e interpretadores são formas de tradução de um código geralmente de alto nível (escrito em uma linguagem de

Leia mais

Linguagem de programação Programação Orientada a objetos

Linguagem de programação Programação Orientada a objetos Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de

Leia mais

Orientação a Objetos (OO)

Orientação a Objetos (OO) CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 04 APRESENTAÇÃO: Hoje vamos discutir os conceitos de Orientação a Objetos.

Leia mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Objetos e funções membro

Leia mais

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

Classes e Objetos. Prof. Fernando V. Paulovich  9 de agosto de 2010 Classes e Objetos SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação (ICMC) Universidade

Leia mais

Universidade Federal de Mato Grosso do Sul. Propriedades da Programação Orientada a Objetos

Universidade Federal de Mato Grosso do Sul. Propriedades da Programação Orientada a Objetos Universidade Federal de Mato Grosso do Sul Facom - Faculdade de Computação Linguagem de Programação Orientada a Objetos Prof. Me. Liana Duenha Propriedades da Programação Orientada a Objetos Neste tópico

Leia mais

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

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(){

Leia mais

Herança. BCC702-Programação de Computadores II Emiliana Mara Lopes Simões Universidade Federal de Ouro Preto abril 2010

Herança. BCC702-Programação de Computadores II Emiliana Mara Lopes Simões Universidade Federal de Ouro Preto abril 2010 Herança BCC702-Programação de Computadores II Emiliana Mara Lopes Simões simoes.eml@gmail.com Universidade Federal de Ouro Preto abril 2010 Herança Uma característica importante da programação orientada

Leia mais

Programação Orientada a Objetos HERANÇA E COMPOSIÇÃO

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.

Leia mais

Linguagem de Programação Introdução a Orientação a Objetos

Linguagem de Programação Introdução a Orientação a Objetos Linguagem de Programação Introdução a Orientação a Objetos Rafael Silva Guimarães Instituto Federal do Espírito Santo Campus Cachoeiro de Itapemirim Definição de Orientação a Objetos. Orientação a Objetos:

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Herança e Polimorfismo Msc. Paulo de Tarso F. Júnior 1 Projeto Orientado a Objetos O que desejam? Produção de projetos conceitualmente simples o bastantes para serem entendidos

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Herança e Propriedades

Herança e Propriedades Herança e Propriedades 2013 O que veremos hoje? Herança e Propriedades Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Herança em POO Herança Herança

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de POO Professor: Charles Leite Motivação Na Programação OO, um OBJETO é considerado a entidade central de um programa Assim, o desenvolvimento de

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista

Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista Linguagens de Programação Departamento de Engenharia Eletrônica e de Computação - DEL-Poli/UFRJ Prof.: Miguel Elias Mitre Campista == Laboratório 7 == 1. Escreva uma classe Carrinho para armazenar itens

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO

PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO COLÉGIO ESTADUAL ULYSSES GUIMARÃES CURSO TÉCNICO PROFISSIONALIZANTE EM INFORMÁTICA ERINALDO SANCHES NASCIMENTO PROGRAMAÇÃO ORIENTADA A OBJETOS: OCULTAR INFORMAÇÕES E ENCAPSULAMENTO FOZ DO IGUAÇU 2013 LISTA

Leia mais

Programação Java (nível intermediário) 4. Polimorfismo

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java

Leia mais

Unidade: sobrecarga, construtores e herança

Unidade: sobrecarga, construtores e herança Unidade: sobrecarga, construtores e herança 0 Unidade: sobrecarga, construtores e herança Sobrecarga Sobrecarregar (do inglês overload) um método é criar mais métodos com o mesmo nome, porém com assinaturas

Leia mais