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

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

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

Transcrição

1 Linguagens de Programação Parte IV Prof. Miguel Elias Mitre Campista Introdução à Programação em (Continuação) Relembrando da Última Aula... Sobrearga de operadores Mais exemplos de programação orientada a objetos... 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 Herança 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 1

2 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 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 múltipla Herança direta Herança indireta Herança simples 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 Três Tipos de Herança private Uma alternativa à omposição proteted Esse tipo de herança é raramente utilizado É 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 Abstração É um versus Tem um 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 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 2

3 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 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 Losango Quadrilátero Retângulo Classes Base e Derivadas Classes Base e Derivadas 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 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 3

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

5 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 Primeiro Exemplo de Herança em x Primeiro Exemplo de Herança em Primeiro Exemplo de Herança em 5

6 Primeiro Exemplo de Herança em 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 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 em 6

7 Segundo Exemplo de Herança em 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 7

8 Tereiro Exemplo de Herança em Tereiro Exemplo de Herança em Tereiro Exemplo de Herança em Tereiro Exemplo de Herança em 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 em Tereiro Exemplo de Herança em 8

9 Erro de Compilação Construtor da lasse derivada hamar onstrutores de lasses base om argumentos inonsistentes Número ou tipo de parâmetros errados dos espeifiados nas definições dos onstrutores das lasses base Em um onstrutor de lasse derivada, iniializar os objetos-membro e invoar onstrutores de lasses base expliitamente na lista de iniializadores de membro impede a iniialização dupliada de um onstrutor-padrão da lasse base Caso o onstrutor-padrão não exista, há erro de ompilação 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 Quarto Exemplo de Herança em 9

10 Quarto Exemplo de Herança em Quarto Exemplo de Herança em Quarto Exemplo de Herança em 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 10

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

12 Quinto Exemplo de Herança em 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 em 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 em 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; 12

13 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! }; 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 13

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

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

16 Sexto Exemplo de Herança em 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.? 18

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

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

Programação Orientada a Objetos para Redes de Computadores. Herança. Herança. Hierarquia de Classes. Hierarquia de Classes PARTE 2 Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel PARTE 2 Programação - Herança Herança Herança Criação de uma nova lasse 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

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

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... Polimorfismo 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... Herança Mais exemplos de

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Orientada a Objectos - P. Prata, P. Fazendeiro

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

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

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

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

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

Programação por Objectos. Java

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

Leia mais

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Sobrecarga de Operadores. Fundamentos de Sobrecarga de Operadores

Linguagens de Programação. Parte IV. Relembrando da Última Aula... Sobrecarga de Operadores. Fundamentos de Sobrecarga de Operadores 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... Objetos e funções membro

Leia mais

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo

Tratamento de Exceções. LPG II Java. Tratamento de Exceções. Conceito de Exceções. Exemplo Tratamento de Exceções LPG II Java Tratamento de Exceções Introdução Princípios do tratamento de exceções em Java Cláusula try Cláusula catch Cláusula finally Hierarquia de exceções em Java Considerações

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

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

Classes, Métodos e Propriedades

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

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

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

Linguagens de Programação Aula 12

Linguagens de Programação Aula 12 Linguagens de Programação Aula 12 Celso Olivete Júnior olivete@fct.unesp.br Na aula passada Implementando subprogramas 2 Na aula de hoje Suporte para a programação orientada a objetos 3 Roteiro Introdução

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

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... Definição de classes e objetos

Leia mais

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Repetição Controlada por Contador. Nono Exemplo utilizando Classes em C++

Parte IV. Linguagens de Programação. Relembrando da Última Aula... Repetição Controlada por Contador. Nono Exemplo utilizando 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... Definição de classes e objetos Primeiros

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

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

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Programação Orientada a Objetos Herança, Generalização-Especialização Prof. Fabiano Azevedo Dorça Princípio da POO que permite a criação de novas classes a partir de

Leia mais

Fabiano Moreira.

Fabiano Moreira. Fabiano Moreira professor@fabianomoreira.com.br Um pouco de história Java 1.02 (250 classes, lenta) Java 1.1 (500 classes, um pouco mais rápida) Java 2, versões 1.2-1.4 (2300 classes, muito mais rápida)

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

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

Leia mais

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

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

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

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

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

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

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

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

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

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

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

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 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

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

Namespaces, Classes e Métodos.

Namespaces, Classes e Métodos. . Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

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