INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
|
|
|
- Luísa Carneiro Pereira
- 9 Há anos
- Visualizações:
Transcrição
1 INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício Fila com uso de composição Exercício Fila com uso de interface 1
2 Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício Fila com uso de composição Exercício Fila com uso de interface Herança vs. Composição (1) A herança é um mecanismo de reutilização caixa branca, pois expõe freqüentemente a estrutura das classes ancestrais; A herança é um mecanismo estático, não permitindo assim a reconfiguração dinâmica de um sistema; Ela cria um forte acoplamento entre uma classe e as suas classes ancestrais; Essa característica obriga que toda uma hierarquia de classes tenha que ser incluída no caso de reutilização em outro projeto. 2
3 Herança vs. Composição (2) A composição nos permite obter funcionalidades complexas através da colaboração de vários objetos que implementam funções mais simples; A composição é um mecanismo de reutilização caixa preta, pois os detalhes internos dos objetos não precisam ser expostos; A composição permite a reconfiguração dinâmica de um sistema. Herança vs. Composição (3) A composição aumenta as chances da reutilização de classes; Ela favorece a criação de classes menores e mais coesas; O poder da composição aumenta ainda mais quando usado conjuntamente com o mecanismo de polimorfismo; Para tal, prefira o mecanismos de herança de interface em relação à de implementação. 3
4 Exemplo Seja a classe abaixo: public class Lista public boolean vazio(); public boolean insini(object x); // insere x no inicio da lista public boolean insfin(object x); // insere x no final da lista public Object retini(); // remove o primeiro elemento da lista public Object retfin(); // remove o último elemento da lista public void posini(); // posiciona o cursor no início da lista public Object prox(); // retorna o próximo elemento da lista Construa uma classe Fila reutilizando a classe acima. Solução Generalização Em uma análise superficial do problema poderíamos achar que a generalização e a herança de classe seriam uma boa solução, como é mostrado na figura a seguir: 4
5 Generalização Problemas Uma generalização, entretanto, pressupõe a existência de uma relação é-um ; Em relação ao exemplo, podemos afirmar que uma fila não é uma lista, embora algumas das propriedades de uma lista se apliquem a uma fila; A operação insini, por exemplo, é aplicável a uma lista, mas não a uma fila, que, por definição, só pode ter novos elementos inseridos no final da mesma. Solução Composição Criar uma composição entre uma Fila e uma Lista; isto é, fazer com que uma Fila seja composta por uma Lista; O programador irá visualiza apenas os métodos públicos de uma Fila; A Fila não irá implementar as operações; Ela irá delegar a execução das mesmas à Lista por ela contida. 5
6 Composição package Fila; import Lista.*; public class Fila Lista ls=new Lista(); public boolean enqueue(object x) return ls.insfin(x); public Object dequeue() return ls.retini(); public boolean vazio() return ls.vazio(); Delegação A delegação é uma maneira de tornar a composição um mecanismo de reutilização extremamente poderoso; Na delegação, um objeto recebe uma solicitação e delega a sua execução a um ou mais objetos; O objeto receptor atua freqüentemente como coordenador da execução de uma solicitação; Por isso, muitas vezes é necessário que os objetos delegados consultem o estado do objeto receptor (callback); Para tal, o objeto receptor passa uma referência para si próprio (this) quando envia mensagens para os objetos delegados. 6
7 Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício Fila com uso de composição Exercício Fila com uso de interface Interface Uma interface é uma construção similar a uma classe abstrata que contém apenas métodos abstratos; Da mesma forma que uma classe abstrata, uma interface não pode ser instanciada; Seu objetivo é declarar alguns métodos que serão implementados por uma ou mais classes; Diferentemente de uma classe abstrata, uma interface não possui implementação, apenas declarações de métodos (cabeçalhos) e constantes. 14 7
8 Exemplo (1) A classe java.util.arrays possui um método, chamado sort, que ordena um array de objetos; Para usá-lo é preciso, entretanto, que a classe dos elementos do array implemente a interface Comparable: public interface Comparable int compareto(object o); Isto é, uma classe deve implementar o método compareto para implementar Comparable e, por conseguinte, usar o método sort. 15 Exemplo (2) public class Empregado implements Comparable private String nome; private double salario; public Empregado(String n,double s) nome=n; salario=s; public int compareto(object o) Empregado e=(empregado)o; if(this.salario>e.salario) return 1; else if(this.salario<e.salario) return -1; else return 0; String getnome() return nome; public double getsalario() return salario; 16 8
9 Exemplo (3) import java.util.*; public class Main public static void main(string[] args) Empregado[] lst=new Empregado("Joao",50.0),new Empregado("Ana",30.0), new Empregado("Paula",100.0),new Empregado("Carlos",10.0); Arrays.sort(lst); for(empregado e:lst) System.out.println(e.getNome()+" "+e.getsalario()); 17 Problema do TAD Fila Vamos retornar ao problema da criação de uma classe Fila a partir de uma classe Lista já existente; Vimos os problemas que seriam causados caso optássemos por usar generalização na solução deste problema; Para contorná-los, criamos uma composição entre a classe Fila e a classe Lista (uma Fila contém uma Lista); Podemos usar também o conceito de interface na solução deste mesmo problema. 18 9
10 Solução uso de uma interface (1) Definir uma interface chamada IFila; Fazer com que a classe Lista implemente a interface IFila; O uso da interface impede que o programador referencie as propriedades não aplicáveis a um fila. Solução uso de uma interface (2) package Fila; public interface IFila public boolean vazio(); public boolean insfin(object x); public Object retini(); package Lista; import Fila.*; public class Lista implements IFila public boolean vazio() public boolean insini(object x) public boolean insfin(object x) public Object retini() public Object retfin() public void posini() public Object prox() Problema Os nomes dos métodos da classe Lista têm de ser os mesmos das operações da interface IFila, embora os nomes enqueue() e dequeue() sejam os usualmente empregados. Como resolver isso? 10
11 Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício Fila com uso de composição Exercício Fila com uso de interface Problema (1) Seja a hierarquia de veículos mostrada a seguir: 22 11
12 Problema (2) Todos os meios de transporte listados na hierarquia possuem pneus; Por isso, o método calibrarpneus() foi declarado no topo da hierarquia, sendo, dessa forma, herdado pelas demais subclasses; Apenas os aviões aterrissam. Logo, o método aterrissar() foi declarado na subclasse Aviao. 23 Problema (3) Quase todos os veículos da hierarquia anterior podem ser abastecidos com combustível; Entretanto, se fosse definida uma implementação para tal na classe Veiculo, ela seria herdada por Bicicleta, que não pode ser abastecida; Por outro lado, definir métodos distintos para abastecimento nas classes Aviao e Carro introduziria uma redundância indesejável. Como resolver este problema? 24 12
13 Solução Herança múltipla A linguagem C++ resolveria o problema com herança múltipla: A herança múltipla resolve alguns problemas, mas introduz outros. Por isso, Java implementa apenas herança simples. 25 (Má) Solução - Um método para cada veículo public class Posto private double totgas= ; private double totalc= ; private double totqrs= ; public double reabastecer(aviao a,int tipo,double qtd); public double reabastecer(carro a,int tipo,double qtd); 26 13
14 (Boa) Solução A interface IUsaCombustivel public interface IUsaCombustivel public double encher(tipocomb tipo,double qtd); 27 Um método para todos os veículos public class Posto private double totgas= ; private double totalc= ; private double totqrs= ; public double reabastecer(iusacombustivel v,tipocomb tipo, double qtd) ; 28 14
15 A classe Aviao implementa a interface public class Aviao extends Veiculo implements IUsaCombustivel private double capctanque= ; private double totcomb= ; public void aterrisar(); public double encher(tipocomb tipo,double qtd) if(tipo!=tipocomb.querosene) return qtd; double falta=capctanque-totcomb; if(qtd>falta) totcomb=capctanque; return qtd-falta; else totcomb+=qtd; return 0.0; 29 A classe Carro implementa a interface public class Carro extends Veiculo implements IUsaCombustivel private double capctanque=50.00; private double totcomb=20.00; public void dirigir(); public double encher(tipocomb tipo,double qtd) if(tipo!=tipocomb.alcool && tipo!=tipocomb.gasolina) return qtd; double falta=capctanque-totcomb; if(qtd>falta) totcomb=capctanque; return qtd-falta; else totcomb+=qtd; return 0.0; 30 15
16 Exemplo de reabastecimento Posto p=new Posto(); Carro c=new Carro(); p.reabastecer(c,tipocomb.alcool,10.00); 31 Considerações Finais (1) Uma interface não pode ser instanciada, embora possa-se declarar variáveis que se comportam como tal; Todas as operações definidas em um interface são públicas; Uma interface não possui variáveis de instância nem implementação de métodos; Todas as variáveis definidas em uma interface são tratadas como constantes estáticas (public static final); Uma classe pode implementar múltiplas interfaces
17 Considerações Finais (2) Para que uma classe implemente uma interface deve-se fazer o seguinte: Declarar que a classe implementa (implements) a interface; Fornecer uma implementação para cada operação declarada na interface. 33 Programa Capítulo 7 Herança vs. Composição Interface Aplicação de Interface Exercício Fila com uso de composição Exercício Fila com uso de interface 17
Interfaces POO. Prof. Marcio Delamaro
Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso
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
Linguagem de Programação III
Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando
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
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
Interfaces e Classes Abstratas
Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos
Programação Orientada a 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
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:
Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)
Programaçã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
Orientação a Objetos AULA 09
Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este
UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS
Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista
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
Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos
Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){
Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -
Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes [email protected] 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes
Aula 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
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
Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.
Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em
Classe Abstrata e Interface
Orientação a objetos com Java Classe Abstrata e Interface Byron Leite [email protected] 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public
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
4 Conceito de Herança
4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança
Herança e Polimorfismo
Herança e Polimorfismo 2013 O que veremos hoje? Herança e polimorfismo Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Polimorfismo em POO Mais
Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }
Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação
Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos
Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos
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,
Classes e Objetos. Sintaxe de classe em Java
Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados
Programação Orientada a Objetos Relacionamentos entre classes
Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO
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
Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.
Orientação a Objetos Revisão Conceitos CLASSE CLASSIFICAÇÃO GENERALIZAÇÃO ESPECIALIZAÇÃO HERANÇA INTERFACES POLIMORFISMO SOBRECARGA ENCAPSULAMENTO ABSTRAÇÃO MODULARIZAÇÃO 9 CLASSE Classe é um agrupamento
Lição 11 Herança, polimorfismo e interfaces
Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento
Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e
Linguagem de Programação II Implementação
Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa
Programação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra
Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs
Programação Orientada a Objetos Professor: André Luis Meneses Silva [email protected] br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância
Programação Orientada a Objectos - P. Prata, P. Fazendeiro
3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO
CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que
Rafael B. Pereira (http://www.rbper.com)
Nesse caso a cláusula this() serve para chamar o construtor da própria classe. Agora vamos supor que fosse desejado chamar um construtor da classe pai. Como isso poderia ser feito? Bastaria usar a cláusula
Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010
Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic [email protected] Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade
Programação Orientada a Objetos com Java. Prof. Júlio Machado
Programação Orientada a Objetos com Java Prof. Júlio Machado [email protected] HERANÇA Herança Herança é uma relação de generalização/especialização entre classes A ideia central de herança é que
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho [email protected] Programa Capítulo 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento
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
Aula 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
Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura
Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação
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
Herança e Propriedades
Herança e Propriedades 2013 O que veremos hoje? Herança e Propriedades Transparências baseadas no material do Prof. Gilbert Azevedo e Prof. Jailton Carlos Objetivos Conceito de Herança em POO Herança Herança
Linguagem de programação Programação Orientada a objetos
Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de
A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas
Herança e Polimorfismo Prof. Bruno Gomes [email protected] Programação Orientada a Objetos Revisando -Herança Estrutura Hierárquica e modular Projeção de classes genéricas que podem ser especializadas
nome = 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: ------------------------------------------------------------------------------------------------------
Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno
Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno [email protected] Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de
POO 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
Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos
e Ligação Dinâmica Programação Orientada a Objetos e Polimorfismo A é a contribuição original do paradigma de programação orientado a objetos Fundamentos chave do paradigma OO: Abstração de Dados A herança
Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus
Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis
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
Polimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
LÓ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
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
Programaçã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
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
Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)
Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private
1 Introdução e Conceitos básicos
1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2
Notas de Aula 05: Diretivas de atributos, métodos e classes e o uso de Interfaces.
Notas de Aula 05: Diretivas de atributos, métodos e classes e o uso de Interfaces. Objetivos da aula: Introduzir o uso da diretiva final Introduzir o uso da diretiva static Introduzir o uso da diretiva
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS
INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa [email protected] Programa Capítulo 9 Tratamento de Exceções Assertivas Programa Capítulo
Modificadores de Acesso JAVA
Modificadores de Acesso JAVA Definição Os modificadores de acesso são padrões de visibilidade de acessos às classes, atributos e métodos. Esses modificadores são palavras-chave reservadas do Java. E as
Programação Orientada a Objetos
Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1.ado o seguinte código: class valiacao { Qual fragmento de código irá compilar? a) class Prova extends valiacao { b)
Modelo do Mundo Real. Abstração. Interpretação
Modelo do Mundo Real Mundo Real Abstração Interpretação Sistema de Software Modelo Algoritmo Abstração: O modelo precisa capturar apenas as características do mundo real que são importantes para o sistema
Ex: 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
Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA
Instituto Federal de Educação, Ciência e Tecnologia do Ceará IFCE Programa Educacional Brasileiro de Desenvolvimento para ios BEPiD PROVA OBJETIVA 01) A negação de eu não gosto de acordar cedo e eu sou
Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.
JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta
Vejamos 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
Como vimos anteriormente, subclasses podem redefinir (sobrepor) um método de sua superclasse.
Métodos e Classes Abstratas Como vimos anteriormente, subclasses podem redefinir (sobrepor) um método de sua superclasse. Para indicar que um método de uma classe deve necessariamente ser redefinido em
Técnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert
Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que
