Programação Orientada a Objetos para Redes de Computadores. Herança. Herança. Hierarquia de Classes. Hierarquia de Classes PARTE 2
|
|
- Ester Beltrão Alcaide
- 7 Há anos
- Visualizações:
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
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 maisProgramaçã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 maisLinguagens 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 maisProgramaçã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 maisProgramaçã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 maisProgramaçã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 maisParte 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 maisLinguagens 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 maisProgramaçã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 maisLinguagens 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 maisParte 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 maisLinguagens 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 maisBCC 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 maisConversã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 maisClasses 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 maisProgramaçã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 maisProgramaçã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 maisProgramaçã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 maisIntroduçã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 maisORIENTAÇÃ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 maisIntroduçã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 maisJava 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 maisProgramaçã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 maisProgramaçã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 maisLinguagem 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 maisAULA 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 maisParadigmas 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 maisCurso 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 maisPOO 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 maisProgramaçã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 maisORIENTAÇÃ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 maisProgramaçã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 maisProgramaçã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 maisProgramaçã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 maisProgramaçã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 maisHeranç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 maisFundamentos 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 maisOrientaçã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 maisProgramaçã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 maisLinguagem 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 maisLaborató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 maisParte 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 maisPCS3111. 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 maisProgramaçã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 maisProgramaçã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 maisEsta 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 maisProgramaçã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 maisJava 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 maisC 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 maisCIÊ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 maisLinguagem 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 maisLinguagens 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 maisLinguagens 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 maisLinguagem 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 maisDaniel 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 maisLinguagem 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 maisLinguagens 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 maisProgramaçã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 maisHeranç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 maisIntroduçã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 maisLinguagem 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 maisProgramaçã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 maisUnidade: 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 maisBCC221 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 maisIntroduçã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 maisp 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 maisLinguagem 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] Objetivos Revisar conceitos de Orientação a Objetos Classes Objetos Encapsulamento Herança Sobrescrita de métodos Sobrecarga de métodos
Leia maisLinguagem 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 maisProgramaçã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 maisConceitos 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 maisProgramaçã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 maisSobrecarga 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 maisProgramaçã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 maisClasses 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 maisIntroduçã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 maisIntroduçã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 maisProgramaçã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 maisLinguagem 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 maisOrientaçã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 maisClasse 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 maisLinguagens 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 maisClasses 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 maisUniversidade 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 maisProgramaçã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 maisHeranç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 maisProgramaçã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 maisLinguagem 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 maisProgramaçã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 maisProgramaçã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 maisClasses 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 maisHeranç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 maisDesenvolvimento 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 maisProgramaçã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 maisLinguagens 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 maisPROGRAMAÇÃ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 maisProgramaçã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 maisLinguagem 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 maisUnidade: 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