Programação Orientada a Objetos
|
|
- Matheus Henrique Malheiro Carvalho
- 6 Há anos
- Visualizações:
Transcrição
1 Programação Orientada a Objetos Prof. André Gustavo Duarte de Almeida andre.almeida@ifrn.edu.br www3.ifrn.edu.br/~andrealmeida Aula VIII Herança e Interface
2 Roteiro Herança Classes Abstratas Interface Programação Orientada a Objetos
3 Conceito Permite a reutilização de software, onde poderemos criar uma nova classe com base em uma classe já existente, permitindo que novas funcionalidades seja acrescentadas, bem como as funcionalidades existentes melhoradas Permite uma melhor aproveitamento do código desenvolvido, uma vez que a reutilização permite isso
4 Superclasse(ou Classe Mãe) Representa a classe já existente que irá ceder seus membros a uma nova classe Subclasse(Ou classe Filha) Representa a classe que recebe as características da classe SuperClasse e que pode modificar e/ou acrescentar novos comportamentos.
5 Identificando herança Normalmente conseguimos identificar a utilização de herança quando analisando o texto de um determinado contexto, observamos a utilização da expressão é um, fazendo a ligação entre duas possíveis classes Exemplos O carro é um veículo O motorista é uma pessoa Aluno do Subsequente é um Aluno do IFRN
6 Hierarquia de Heranças Podemos ter múltiplas classes dentro de um hierarquia, onde classes do nível inferior herdam de uma e somente uma classe de um nível superior Uma SuperClasse pode ter infinitas classes filhas, porém uma classe filha. Porém a reciproca não é verdadeira. Uma subclasse tem apenas uma única SuperClasse
7 Exemplo Pessoa Empregado Aluno Técnico Administrativo Docente Subsequente Integrado
8 Exemplos Forma FormaBidimensional FormaTridimensional Círculo Quadrado Triângulo Cubo Isósceles Retângulo
9 Membros protected Ao analisarmos os tipos de modificadores de acesso, vimos o tipo private e public O modificador protected permite que um determinado membro(atributo ou método) seja acessado na própria classe ou na classe filha. Um método ou atributo private só podem ser acessados dentro da própria classe. Mesmo uma classe que herda os atributos não poderá acessalos diretamente, terá que acessar provavelmente através de um método
10 Construindo nossas classes Considere o seguinte contexto A comunidade acadêmica do campus Parnamirim é formada por pessoas. Essas pessoas podem ser alunos ou funcionário. Os funcionário são terceirizados ou estatutário Ainda dentre os servidores podemos diferenciar entre os Técnicos-Administrativos e os Professores
11 Construindo nossas Classes Pessoa Funcionários Aluno Terceirizado Estatutário TécnicoAdministrativo Docente
12 Construindo nossas classes Vamos primeiro criar a classe pessoa, que terá apenas nome e endereço como atributos. Criaremos o pacote br.edu.ifrn.academico Utilizaremos um construir para inicializar esses atributos, além dos métodos get/set package br.edu.ifrn.academico; public class Pessoa { private String nome; private String endereco; public Pessoa(String nome,string endereco){ this.nome=nome; this.endereco=endereco; } public Pessoa(){ } Se não definirmos o construtor vazio, a única forma de se criar um objeto
13 Construindo nossas classes Em Java, precisamos dizer na classe filha(subclasse) qual a classe que ela irá herdar todas as características A declaração é feita usando a palavra extends Vejamos como fica a declaração da classe Aluno public class Aluno extends Pessoa {... }
14 Construindo nossas Classes Dentro da classe Aluno vamos adicionar mais dois atributos, chamados matrícula do tipo String e curso também do tipo String Implementaremos também os métodos get/set. Além disso vamos implementar um método que retorna uma String contendo o nome do aluno concatenado com a matrícula Vejamos como fica a classe
15 Construindo nossas classes Dentro de uma classe filha, podemos nós referenciar diretamente as características/métodos definidos Para isso basta usar a palavra reserva super que faz referência direta aos membros da superclasse Dentro do construtor da classe filha, podemos inclusive invocar o construtor da superclasse Bastar usar a chamada super(<listadeparametros>); Onde lista de parâmetros devem ser do mesmo tipo de parâmetros definidos pelo construtor da superclasse
16 Construindo nossas classes Vejamos como fica a classe utilizando a palavra super, para fazer referência aos membros da Superclasse
17 Construindo nossas classes Conclua a implementação das classes usando como base as seguintes condições Funcionário Características: matrícula, salário Terceirizado Característica: empresacontrante, pis/pasep Estatutário Característica: datadeingresso Técnico Administrativo Característica: cargo, jornadadetrabalho(20, 30 ou 40 horas)
18 Construindo nossas classes Professor Características: CargaHorária, Disciplina de Ingresso
19 Classe Object Representa a classe base da linguagem Java Todas as classes herdam, implicitamente, as informações da classe Object Os métodos que são definidos pela classe Object que são mais utiliziados equals(object o): Compara dois objetos da mesma classe tostring(): Gera uma versão String do objeto
20 Polimorfismo Deriva da palavra polimorfo, que significa múltiplas formas O termo polimorfismo para orientação a objetos, vem da capacidade de objetos de diferentes classes, responderem a mesma mensagem(método) de diferentes maneiras Ou seja, várias formas, de responder a mesma mensagem
21 Polimorfismo Já vimos um exemplo de polimorfismo quando da definição da sobrecarga de métodos, onde diferenciamos os métodos com mesmo nome pelo número e/ou tipo dos parâmetro Existem três tipos de polimorfismo Sobrecarga Visto anteriormente Conversão Sobreposição
22 Polimorfismos Conversão Herança
23 Polimorfismo Veremos o polimorfismo de sobreposição que implementamos anteriormente A diferença agora é a definição e quais as possibilidades de uso que teremos Vamos considerar uma hierarquia de classes que representam veículos Veremos também o exemplo de um diagrama de classes, utilizando no processo de construção de softwares
24 Polimorfismo O retângulo representa uma classe. Na parte superior temos os atributos. Na parte inferior os métodos da classe. A seta com ponta vazia representa herança
25 Polimorfismo public class Veiculo { private double velocidade; public Veiculo(){ } public Veiculo(double velocidade){ this.velocidade=velocidade; } public void mover(){ System.out.println("Movendo"); } //Método get/set } Herança As classes Avião, Barco e Carro herdam todos esses comportamentos. O que iremos modificar será o método mover, que irá exibir no console as seguintes mensagens Avião = Voando Carro= Correndo Barco= Navegando Vamos implementar as classes?!
26 Polimorfismo Com as classes implementadas, qual a saída gerada abaixo 1. Veiculo v1,v2,v3; 2. v1=new Carro(); 3. v2=new Aviao(); 4. v3=new Barco(); 5. v1.mover(); 6. v2.mover(); 7. v2=new Barco(); 8. v3.mover(); 9. v2.mover(); Linha Saída
27 Polimorfismo Consideramos agora que criaremos uma classe chamada Oficina que possui um método consertar que recebe como o parâmetro um Veículo(que podem ser um Carro, Avião ou Barco) Dependendo do tipo do veículo ele imprime as seguintes mensagens Avião = Consertando Avião Barco = Consertando Barco Carro = Consertando Carro Vejamos como fica nosso novo diagrama
28 Polimorfismo A seta pontilhada indica que a Classe Oficina depende da classe Veículo, pois usa um objeto da Classe como parâmetro do método conserta
29 Polimorfismo Como iremos diferenciar qual o tipo de veículo, uma vez que recebemos como parâmetro um Veículo, sem detalhar qual. Utilizaremos o operador instanceof, que permite verificar a qual classe se refere a instância de um determinado objeto Vejamos o método conserta e em seguida o teste de utilização
30 Polimorfismo public class Oficina { public void conserta(veiculo v){ if (v instanceof Carro){ System.out.println("Consertando Carro"); }else if(v instanceof Aviao){ System.out.println("Consertando Avião"); }else if(v instanceof Barco){ System.out.println("Consertando Barco"); } } }
31 Polimorfismo 1. Veiculo v1,v2,v3; 2. v1=new Carro(); 3. v2=new Aviao(); 4. v3=new Barco(); 5. v1.mover(); 6. v3.mover(); 7. Oficina of=new Oficina(); 8. Barco b1=new Barco(); 9. of.conserta(v2); 10.of.conserta(b1); O que será impresso nas linhas 9 e 10?!
32 Polimorfismo Como a linha 10 funcionou se o método esperava como parâmetro um Veículo e recebeu uma variável do tipo Barco O que aconteceu foi um downcasting, que consiste na conversão de um objeto da classe filha para um objeto da classe mãe Ou seja, como a classe filha tem tudo que a mãe possui, nesse momento passamos a ter somente os dados que foram definidos na classe mãe Porém a reciproca não é verdadeira. Vejamos o exemplo no próximo slide
33 Polimorfismo 1. Veiculo v1,v2,v3; 2. v1=new Carro(); 3. v2=new Aviao(); 4. v3=new Barco(); 5. v1.mover(); 6. v3.mover(); 7. v3=b1; 8. Aviao a1=new Aviao(); 9. a1=v2; A linha 7 funciona ok, pois nesse momento ocorre o downcasting. Porém a linha 9 gera erro de compilação, uma vez que a classe Aviao pode ter mais informações que o definido na classe Veículo, impossibilitando que a atribuição funcione
34 Classe Abstrata Lembrem-se que classes são moldes para a criação de objetos Porém existe um tipo de classe que não geram objetos Elas são chamadas classes Abstratas e são definidas através da utilização da palavra reservada abstract A classes abstratas existem para definir um design comum que classes filhas possam utilizar e concretizarem a classe abstrata
35 Classe Abstrata Vejamos nosso exemplo anterior A classe veículo é uma excelente candidata a ser abstrata Quando criamos um objeto da classe Veículo, não temos como saber que Veículo ele representa Apenas quando nos referimos ao Aviação, Barco o Carro A classe Veículo representa um conceito abstrato de veículo, que necessariamente se move. Vejamos como fica agora a classe
36 Classe Abstrata public abstract class Veiculo { private double velocidade; public Veiculo(){ } public Veiculo(double velocidade){ this.velocidade=velocidade; } public abstract void mover();... Métodos get/set } Um classe abstrata deve possuir pelo menos um método abstrato. Observe que mesmo não podendo gerar objetos, podemos definir construtores para classe. Esses construtores podem ser usados pelas classes Filhas
37 Classe Abstrata O método mover é um método abstrato Quando definimos um método abstrato, toda classe filha é obrigada a implementar esse método, salvo o caso que a filha também seja abstrata Da maneira como programamos anteriormente, tudo continua como está
38 Classe Final Em determinadas situações queremos informar que uma classe não pode gerar subclasses ou mesmo que um método não pode ser modificado por uma subclasse Para isso utilizamos a palavra reservada final, que impede as duas possibilidades de acontecer
39 Interface Conceito Consiste na especificação de um contrato, que determina métodos(comportamentos) que devem ser implementados por uma determinada classe Dessa maneira dizemos que a classe implementa uma interface, se comprometendo a implementar determinada operação A interface diz apenas o que deve ser feito enquanto que a classe determina o como deve ser feito
40 Interface Aprendendo Considere que você deseja especificar algumas regras para criação de brinquedos moveis que funcionam a base de pilhas Determinamos que um brinquedo deve poder se mover, ligar e desligar e ainda ter a opção de recarregar Primeiro devemos construir a interface, que consiste no nosso contrato, para só então passarmos para próxima etapa
41 Interface public interface IBrinquedo { public void mover(int x,int y); public void ligar(); public void desligar(); public void recarregar(double energia); } A interface apenas define quais métodos devem ser implementados, sendo portanto necessário declarar apenas o métodos, sem definir o compartamento
42 Interface Para informamos que uma classe implementa uma Interface, utilizamos a palavra chave implements Ao contrário de herança, uma classe pode implementar infinitas interfaces O conceito de Polimorfismo também se aplica a interface, onde poderemos utilizar apenas aquilo que é relativo da interface Vamos agora criar a classe chamada RoboMovel que irá implementar a interface IBrinquedo
43 public class RoboMovel implements IBrinquedo { private int x,y; private String marca; private double energia; public RoboMovel(){ energia=0;x=0;y=0; } public void mover(int x, int y) { this.x=x; this.y=y; } public void ligar() { System.out.println("Robô Ligado"); } public void desligar() { System.out.println("Robô Desligado"); } public void recarregar(double energia) { this.energia+=energia; } Interface
44 Interface IBrinquedo brinq; brinq=new RoboMovel(); brinq.ligar(); brinq.mover(10,20); brinq.recarregar(20); brinq.desligar(); Observem que na primeira parte a variável brinq é do tipo IBrinquendo, consequentemente só poderemos utilizar os métodos definidos pela Interface RoboMovel rb=new RoboMovel(); rb.setmarca("estrela"); rb.ligar(); rb.mover(20, 30); rb.recarregar(45.5); System.out.println(rb.getEnergia());
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 maisLinguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisProgramação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
7 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 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 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 maisProgramação Orientada a Objetos Flávio de Oliveira Silva 144
HERANÇA Herança é a capacidade de uma subclasse de ter acesso as propriedades da superclasse(também chamada classe base) relacionada a esta subclasse. Dessa forma os atributos e métodos de uma classe são
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 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 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 maisRecapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Leia maisJava First-Tier: Aplicações. Sobrecarga. Orientação a Objetos em Java (II) Sobrecarga de Construtores: Exemplo de Declaração
Java First-Tier: Aplicações Orientação a Objetos em Java (II) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Sobrecarga Um recurso usual em programação OO é o uso de sobrecarga
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
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 maisEx: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)
Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo
Leia maisOrientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento
Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes
Leia maisProgramaçã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 maisAula 9 Herança. Prof. Jefersson Alex dos Santos
Aula 9 Herança Prof. Jefersson Alex dos Santos Roteiro Introdução Conversão de tipo explícita (Cast) Acesso Protegido A classe Object A classe Class Reflexão Recomendações de Projeto Herança Técnica necessária
Leia mais9 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 maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro
Leia maisnome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){
UNIVERSIDADE FEDERAL DE SANTA CATARINA - Departamento de Automação e Sistemas PROGRAMAÇÃO DE SISTEMAS AUTOMATIZADOS - 2016/2 - P2 Nome: ------------------------------------------------------------------------------------------------------
Leia maisLinguagem 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 maisEntender o princípio do Polimorfismo; Conhecer Polimorfismo de Sobreposição e de Inclusão;
POLIMORFISMO POLIMORFISMO É o último princípio que serve de base para a Programação Orientada a Objeto. Esse princípio também aposta na ideia da reutilização para facilitar o dia a dia da programação.
Leia maisNotas de Aula 04: Herança e polimorfismo.
Notas de Aula 04: Herança e polimorfismo. Objetivos da aula: Introduzir o conceito de Heranças Criar uma hierarquia de classes Rever o uso de modificadores de acesso. Apresentar o conceito de polimorfismo
Leia maisProgramaçã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 maisSobrecarga, Sobreposição e Polimorfismo
Sobrecarga, Sobreposição e Polimorfismo José Gustavo de Souza Paiva Sobrecarga de Métodos Numa mesma classe, dois ou mais métodos podem ter o mesmo nome Desde que tenham tipos, quantidade e/ou ordem de
Leia maisProgramação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:
Programação I Curso: Sistemas de Informação Prof.: José Ronaldo Leles Júnior Email.: juniorleles80@gmail.com 1º semestre - 2017 POO Paradigma Orientado a Objetos O que é um Paradigma? É um ponto de vista
Leia maisHerança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Leia maisInterfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
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 maisLÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz
LÓGICA DE PROGRAMAÇÃO (JAVA) Definição A herança é um princípio da POO que permite a criação de novas classes a partir de outras previamente criadas. Essas novas classes são chamadas de subclasses, ou
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 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 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 maisVejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa
Palavra reservada this Em Java podemos ter um parâmetro de um método e um atributo de uma classe com o mesmo nome. Caso façamos uma referência a esta variável, pelo princípio da localidade estaremos referenciando
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 maisHerança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Possibilita o reuso de classes (código-fonte) Usar quando:
Leia maisLinguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
Leia maisA B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas
Herança e Polimorfismo Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas
Leia maisAvançando em Java com
Avançando em Java com Polimorfismo (Interfaces) Prof.: Hugo Barros Interfaces Como já foi dito, java não permite que uma classe herde recurso de mais de uma classe. Herança múltiplipa é um recurso muito
Leia maisProgramação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM
Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos
Leia maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com
Leia maisLinguagens 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 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 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 maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Conversão de Tipos Polimorfismo O Modificador final O Modificador
Leia maisClasses e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
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 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 maisProgramação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
Leia maisAula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU
Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos
Leia maisCOMPORTAMENTOS - Observações
COMPORTAMENTOS - Observações O próprio objeto realiza operações de consulta ou alteração dos valores dos seus atributos Essas operações são definidas em seus métodos Os métodos também são utilizados para
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 maisLinguagem de Programação III
Linguagem de Programação III Aula-6 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
Leia maisInstituto de Informática Estrutura de Dados II
Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O
Leia maisAula 9 POO 1 Polimorfismo. Profa. Elaine Faria UFU
Aula 9 POO 1 Polimorfismo Profa. Elaine Faria UFU - 2019 Sobrecarga de Métodos Numa mesma classe, dois ou mais métodos podem ter o mesmo nome Desde que tenham tipos, quantidade e/ou ordem de parâmetros
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 e Polimorfismo
Herança e Polimorfismo Leonardo Gresta Paulino Murta leomurta@ic.uff.br Aula de hoje Princípios do paradigma OO Herança Polimorfismo Interfaces Classes Abstratas Leonardo Murta Herança e Polimorfismo 2
Leia maisEngenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira
Engenharia de Software Aula 10 Representação dos Conceitos de Orientação a Objetos Prof. Me. Rogério Ferreira 2 Roteiro Representação dos Conceitos OO Mensagens Navegabilidade Pacotes Encapsulamento Herança
Leia maisProgramação Orientada a Objetos com Java. Prof. Júlio Machado
Programação Orientada a Objetos com Java Prof. Júlio Machado julio.machado@pucrs.br HERANÇA Herança Herança é uma relação de generalização/especialização entre classes A ideia central de herança é que
Leia maisProf. A. G. Silva. 30 de outubro de Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de / 1
INE5603 Introdução à POO Prof. A. G. Silva 30 de outubro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 30 de outubro de 2017 1 / 1 Especialização de classes (I) (Cap. 6) Operações de abstração como
Leia maisHerança (parte 2) Redefinição de métodos AULA 11
Introdução a Programação IF669 http://www.cin.ufpe.br/~if669 Herança (parte 2) Redefinição de métodos AULA 11 Ricardo Massa F. Lima rmfl@cin.ufpe.br Sérgio C. B. Soares scbs@cin.ufpe.br Na aula passada
Leia maisPOLIMORFISMO. Entender o princípio do Polimorfismo; Saber quais são os tipos existentes de Polimorfismo; Conhecer Polimorfismo de Sobrecarga.
POLIMORFISMO POLIMORFISMO É o último princípio que serve de base para a Programação Orientada a Objeto. Esse princípio também aposta na ideia da reutilização para facilitar o dia a dia da programação.
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 maisHerança Tiago Eugenio de Melo
Herança Tiago Eugenio de Melo tiago@comunidadesol.org Herança Conceito: Herança é a capacidade de especializar tipos de objetos (classes), de forma que os tipos especializados contenham, além de características
Leia maisMODELAGEM COM A UML (UNIFIED MODELING LANGUAGE)
MODELAGEM COM A UML (UNIFIED MODELING LANGUAGE) g BREVE HISTÓRICO g CARACTERÍSTICAS g CONCEITOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS g MODELAGEM DE ANÁLISE E DE PROJETO 1 I. BREVE HISTÓRICO Em fins dos anos
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 maisProgramação Orientada a Objetos SANTOS, Rafael
Programação Orientada a Objetos SANTOS, Rafael Neste capítulo e nos seguintes serão usados intensamente os conceitos básicos de OO e da linguagem estudados até agora, com ênfase para os de número 1, 2
Leia maisProgramação Orientada a Objetos. Prof. Diemesleno Souza Carvalho
Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Classes Abstratas Programação
Leia maisTÉCNICAS DE ORIENTAÇÃO A OBJETOS
TÉCNICAS DE ORIENTAÇÃO A OBJETOS APLICAÇÃO EM: C# E JAVA Sumário INTRODUÇÃO... 4 PARADIGMAS DE PROGRAMAÇÃO... 5 PROGRAMAÇÃO PROCEDURAL... 5 PROGRAMAÇÃO ESTRUTURADA... 5 PROGRAMAÇÃO ORIENTADA A OBJETOS...
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 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 maisReutilização de Classes Cap. 8 Introdução à Programação OO Rafael Santos
Cap. 8 Introdução à Programação OO Rafael Santos Prof. Gustavo Willam Pereira ENG10082 Programação II Créditos: Prof. Clayton Vieira Fraga Filho Um dos maiores benefícios que a Programação Orientada a
Leia maisHerança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1
Herança Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman 1 1 1 Motivação Você está desenvolvendo um sistema de gerenciamento de pessoal para a USP Precisa fazer: Cadastro de alunos e professores
Leia maisInterfaces e polimorfismo
Java 2 Standard Edition Interfaces e polimorfismo Helder da Rocha (helder@acm.org) argonavis.com.br 1 O que é polimorfismo Polimorfismo (poli=muitos, morfo=forma) é uma característica essencial de linguagens
Leia maisProgramação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -
Programação Java - Herança e Polimorfismo - 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 relacionadas entre
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 maisPADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS
PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos
Leia maisOrientação a objetos. Objetos ou Instâncias I
Orientação a objetos Objetos ou Instâncias Métodos ou Mensagens Encapsulamento Classes Variáveis da Classe X Variáveis da Instância Métodos da Classe X Métodos da Instância Relacionamentos Identificando
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 maisPOO29004 Programação Orientada a Objetos
POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo
Leia maisParadigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
Leia maisComo exemplo, vamos criar uma subclasse da classe Funcionario, vista nos capítulos anteriores.
HERANÇA E POLIMORFISMO Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 7 A herança é um importante recurso da programação orientada a objeto que
Leia maisPOO Fundamentos Parte III. Professor Vicente Paulo de Camargo
POO Fundamentos Parte III Professor Vicente Paulo de Camargo PROGRAMAÇÃO ORIENTADA A OBJETOS HERANÇA SIMPLES Mecanismo que permite a uma classe, denominada de SUBCLASSE ou CLASSE FILHA, herdar todos os
Leia maisProgramação Orientada a Objeto (POO)
Programação Orientada a Objeto (POO) Prof Francesco Artur Perrotti Classes e Objetos Classe pode ser definida como uma categoria de objetos. Usamos as classes para facilitar o entendimento dos objetos
Leia maisINF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 4 Tipos Enumerados Generalização e Herança Visibilidade Chamada de Construtores
Leia maisAula 7 POO 1 Herança. Profa. Elaine Faria UFU
Aula 7 POO 1 Herança Profa. Elaine Faria UFU - 2019 Problema Problema As classes Funcionário e Estudante compartilham alguns atributos, mas não todos Não é possível utilizar uma classe para representar
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 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 maisAula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU
Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações
Leia maisPOO UML e Outros Conceitos. Prof. Vicente Paulo de Camargo
Prof. Vicente Paulo de Camargo UML - INTRODUÇÃO UML = Unified Modeling Language = linguagem de modelagem de sistemas Permite especificar, visualizar e documentar modelos de software orientados a objetos
Leia maisProgramação Orientada a Objectos - P. Prata, P. Fazendeiro
5 Polimorfismo Sobrecarga (overloading) de métodos: public class x { public void m1( ) {... sobrecarga do método m1 public void m1 ( int p ) {... - Diz-se que o nome de um método foi sobrecarregado ( overloaded
Leia maisModelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Leia maisInterfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Leia maisIntrodução à orientação a objetos. João Tito Almeida Vianna 18/05/2013
Introdução à orientação a objetos João Tito Almeida Vianna 18/05/2013 Roteiro Aula 1 Introdução: Programação estruturada x Orientação a objetos Orientação a objetos Classe e objeto Encapsulamento Herança
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 maisComputação II Orientação a Objetos
Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Editor Gráfico Vamos usar nosso framework do Motor, com pequenas mudanças (para permitir interação com
Leia maisIntrodução à Orientação a Objetos em Java
Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB Centro de Informática, UFPE Programação estruturada
Leia mais