Programação Orientada a Objetos

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

Download "Programação Orientada a Objetos"

Transcrição

1 Programação Orientada a Objetos Faculdade de Computação Revisão Prova 2 Marcelo Zanchetta do Nascimento Material elaborado pela Profa. Ana Carolina Lorena - UNIFESP

2 Roteiro Herança Polimorfismo Classes Abstrata Interface Exceção Arquivos

3 Herança Herança permite a criação de classes com base em uma classe já existente. Objetivo: proporcionar o reuso de software Herança é a capacidade de reusar código pela especialização de soluções genéricas já existentes A ideia na herança é ampliar a funcionalidade de uma classe Todo objeto da subclasse também é um objeto da superclasse, mas NÃO vice-versa

4 Herança Herança representa um relacionamento de generalização entre classes: Polígono É-um É um tipo de Quadrilátero É-um Triângulo Retângulo Quadrado

5 Representação UML A representação gráfica do conceito de herança, na linguagem UML (Unified Modeling Language), é definida por retas com setas apontando para a classe-mãe

6 Herança Subclasse herda os membros da superclasse Estes são tratados de forma semelhante a qualquer outro membro da subclasse Nem todos os atributos e métodos da superclasse são obrigatoriamente acessíveis na subclasse - depende dos modificadores de acesso Modificador private na superclasse não permite acesso direto dentro da subclasse Deve-se usar protected

7 Exemplo: # = protegido, Visível nas superclasse e nas subclasses apenas Herança Funcionário # nome: String # cpf: int + Funcionário (n:string, c:int) + getnome ( ): String + getcpf( ): int Não se repete a declaração de atributos e métodos herdados! Motorista Engenheiro - numcarteira: int -dataexpiração: String + Motorista (n:string, c:int, cm:int, d:string) + getnumcarteira ( ): int + getdataexpiração( ): String - numcrea: int + Engenheiro (n:string, c:int, nc:int) + getnumcrea ( ): int

8 Herança: Super vs this A palavra this é usada para referenciar membros de um objeto É obrigatória quando há ambiguidades entre variáveis locais e de instância (atributos) super se refere a superclasse em herança

9 super() vs this() super() e this() são usados somente nos construtores super(): para chamar construtor na classe base a partir de construtor de classe derivada this(): para chamar outro construtor dentro de outro construtor de uma mesma classe

10 Polimorfismo Habilidade de ter muitas formas Do Grego poly(muitas) + morpho(formas) Habilidade de objetos de uma ou mais classes em responder a uma mesma mensagem de forma diferente Métodos com mesmo nome, mas implementados de maneira diferente Permite obter códigos genéricos: - Podem processar naturalmente diversos tipo de dados - Podem processar os mesmos dados de maneiras diferentes - Podem fazer um mesmo objeto ter comportamentos diferentes para uma mesma ação/solicitação

11 Polimorfismo Pode ocorrer de duas formas: Por sobrecarga (Overloading) Por sobreposição (Overriding) Alguns autores não classificam a sobrecarga como um tipo de polimorfismo

12 Sobrecarga Regra para sobrecarga de métodos: - É permitida a criação de métodos com nomes iguais, mas os métodos devem ter assinaturas diferentes A assinatura do método é composta pelo nome do método e pelos tipos dos seus argumentos, independente dos nomes dos argumentos e do valor de retorno da função Exemplos de assinaturas iguais: float soma(float a, float b); void soma(float op1, float op2); Exemplo de assinatura diferente: double soma(double a, double b);

13 Sobrecarga É implementada, normalmente, para métodos que devem executar operações semelhantes, usando uma lógica de programação diferente para diferentes tipos de dados Exemplo: public class Funções public int quadrado( int x ) return x * x; public double quadrado( double y ) return y * y;

14 Sobrescrita Permite a redefinição do funcionamento de uma função herdada de uma classe base - A classe derivada tem uma função com a mesma assinatura da classe base, mas funcionamento diferente Função na classe derivada sobrepõe a função na classe base Equipamento gravar Câmera gravar Gravar para a câmera é gravar imagem + som Som gravar Gravar para o aparelho de som é gravar somente som

15 Sobrescrita Regra para sobrescrita: O método da subclasse deve ser declarado exatamente com o mesmo nome, tipo de retorno e lista de parâmetros (inclusive a ordem) O modificador de acesso pode mudar, mas o método na subclasse não pode ser menos acessível do que o método da superclasse

16 Sobrescrita Exemplo: Considere as seguintes classes public class ObjetoGeo... public void desenha(graphics g); public class Retangulo extends ObjetoGeo... public void desenha (Graphics g) g.drawrect (x, y, lado, lado2); public class Circulo extends ObjetoGeo... public void desenha (Graphics g) g.drawcircle (x, y, raio); A classe mãe especifica um método desenha Cada classe filha fornece uma implementação diferente para a mesma especificação do método desenha

17 Sobrescrita Exemplo:... for (int i = 0; i < desenhos.size(); ++i) ObjetoGeo x = desenhos[i]; x.desenha(g);... Na ocasião desta chamada, será decidido automaticamente qual implementação será invocada, dependendo do objeto: esta decisão é denominada ligação dinâmica ou dynamic binding

18 Classes abstratas Classe abstrata (ou virtual): é uma classe da qual nunca são criadas instâncias (objetos) Ela existe apenas para reunir características comuns de seus descendentes Ela serve como um modelo para criação de classes descendentes

19 Classes abstratas Pessoa Cliente idade endereço imprimir( ) Super-Classe Vendedor grauvenda imprimirvendas( ) Classe Pessoa Atributos: nome: texto Métodos: incluir( ) alterar ( ) excluir ( ) A classe Pessoa existe para reunir as características. Um objeto efetivo dentro de uma loja deve ser cliente ou vendedor. Não existe apenas pessoa.

20 Métodos abstratos Método abstrato: É um método que só pode ser definido em uma classe abstrata Não é implementado na classe onde ele é definido Deve ser obrigatoriamente implementado em toda classe herdeira da classe abstrata É usado, principalmente, para determinar um padrão para todas as classes herdeiras Declarar um método como abstrato é uma forma de obrigar o programador a redefinir esse método em todas as subclasses para as quais se deseja criar objetos

21 Métodos abstratos Exemplo: Observe que não faz sentido a classe Veículo ter implementação desses métodos, pois em cada subclasse essas operações têm uma interpretação diferente!

22 Exemplo public class Animal private String nome; public Animal(String n) nome = n; public void imp() System.out.println("Nome: "+nome); public String getname() return(nome); public void talk() System.out.println("Eu não falo");

23 public class Cachorro extends Mamifero private String nome; // Nome do cachorro private String raça; // Raça do cachorro public Cachorro(String nome1, String raça1) // Chama o construtor da classe base public abstract class Passaro extends Animal super("cachorro"); public Passaro(String n) nome = nome1; super(n); raça =raça1; public void talk() public void talk() System.out.println("Piu System.out.println("Au, piu"); au"); // Nome fornecido // Raça fornecida public abstract class Mamifero public class extends TestaAbstracao Animal public Mamifero(String n) super(n); public abstract void talk(); "Collie"); cão.talk(); //talk não foi implementado public static void main(string[] args) // Cria um objeto cachorro Cachorro cão = new Cachorro("Lassie",

24 Interface Definição: Conjunto de assinaturas de métodos (sem implementação) Espécie de contrato firmado por uma classe para garantir uma certa funcionalidade a seus objetos

25 Interface Em Java: classe abstrata pura - Só tem métodos abstratos (sem implementações) - Todos métodos são public e abstract - Não tem atributos, a menos que sejam constantes - Todas variáveis são public, static e final - Não tem construtores

26 Interface: herança múltipla

27 Exemplo

28 Exemplo

29 Exemplo No diagrama de classes: Nome em itálico e <<interface>>

30 Exemplo package carrointerface; interface VeicNovo double txjuros = 0.05; double entr = 0.30; double desc = 0.20; public double precofabrica(); public double precoavista(); public double prestacao(int npar); public double entrada();

31 Exemplo package carrointerface; class VeicBasico private String comb; private int int cil; public VeicBasico(String c,int ci) ci) comb=c; cil=ci; public String getcomb() return(comb); public int int getcil() return(cil);

32 Exemplo package package carrointerface; carrointerface; class class CarroPopular CarroPopular extends extends VeicBasico VeicBasico implements implements VeicNovo VeicNovo private private double double preco; preco; public public CarroPopular(double p,string p,string c,int c,int cil) cil) super(c,cil); super(c,cil); preco preco = p; p; public public double double precofabrica() precofabrica() return(preco); return(preco); public public double double precoavista() precoavista() return(preco-(preco*desc)); public public double double prestacao(int prestacao(int npar) npar) double double saldo saldo = preco preco - entrada(); entrada(); double double prest prest = saldo/npar; saldo/npar; for(int for(int i=0; i=0; i<npar; i<npar; i++) i++) prest prest = (prest+(prest*txjuros)); return(prest); return(prest); public public double double entrada() entrada() return(preco return(preco * entr); entr);

33 Exemplo package carrointerface; public class class TestaInterface public static void void main(string args[]) CarroPopular cp cp = new new CarroPopular(14500,"Gasolina",1000); System.out.println("A vista:"+cp.precoavista()); System.out.println("A prazo:"+cp.entrada()+"+ "+24+" X "+cp.prestacao(24));

34 Coleções MOTIVAÇÃO Em Java é possível armazenar um conjunto de valores, primitivos ou objetos, utilizando variáveis compostas homogêneas (vetores, matrizes, etc) Mas e se quisermos: Criar estruturas que aloquem dinamicamente espaço em memória (aumentar ou diminuir o espaço em tempo de execução)? Criar estruturas de dados mais complexas com disciplinas de acesso, através da implementação de tipos abstratos de dados como listas, pilhas e filas?

35 Coleções MOTIVAÇÃO Estas questões são tratadas, em um curso de Computação, na disciplina Estrutura de Dados Na linguagem de programação Java, estas estruturas são oferecidas através do Java Collections Framework Criação de um ArrayList de objetos da classe Aluno: ArrayList<Aluno> alunos; alunos = new ArrayList<Aluno>(); Aluno a = new Aluno(); alunos.add(a);

36 Exemplo 2: trapalhoes.java import java.util.collection; import java.util.list; import java.util.arraylist; public class Trapalhoes public static void criartrapalhoes() Declara uma lista de Strings. Foi escolhido um ArrayList para implementação desta lista ArrayList<String> trapalhoes = new ArrayList<String>(); trapalhoes.add( "Didi" ); trapalhoes.add( "Dedé" ); trapalhoes.add( "Mussum" ); trapalhoes.add( "Zacarias" ); Adiciona objetos à lista. Apenas Strings são permitidas

37 Exemplo 2: trapalhoes.java *Obtém índice de um elemento *Altera um elemento em um índice for ( int i=0; i<trapalhoes.size(); i++ ) String str = trapalhoes.get(i); System.out.println( str ); trapalhoes.remove(3); trapalhoes.remove( "Mussum" ); System.out.println( "=================" ); for ( String s: trapalhoes ) System.out.println( s ); int indice = trapalhoes.indexof( "Didi" ); trapalhoes.set( indice, "Chaves" ); Itera pelos objetos da lista usando índices Remove elementos: pelo índice, pelo valor Itera pela lista sem usar índices

38 Exemplo 2: trapalhoes.java System.out.println( "=======================" ); for ( String s: trapalhoes ) System.out.println( s ); //Fim do método criartrapalhoes() public static void main( String args[] ) criartrapalhoes();

39 Exceções Mecanismo eficiente de comunicação entre programadores e utilizadores de classes, para lidar com situações especiais Envolve o lançamento e o tratamento de exceções

40 Lançando uma exceção Exceção é um objeto que sinaliza que uma condição excepcional ocorreu, representando detalhes de uma falha de execução Objeto precisa ser criado com new e lançado com throw IllegalArgumentException e = new IllegalArgumentException( Erro ); throw e; Ao lançar uma exceção, a classe comunica que não foi capaz de realizar a operação solicitada com sucesso

41 Lançando uma exceção Exemplo: public void atualizatelefone(string nome, String novotelefone) Contato c = contatos.get(nome); if(c == null) throw new NullPointerException( Contato inexistente ); c.settelefone(novotelefone); Sintaxe: throw new Tipo_de_Exceção( string de diagnóstico (opcional) )

42 Capturando e tratando exceção Capturar uma exceção significa providenciar um trecho de código que detecte o lançamento de uma exceção e dispare ações correspondentes Isso é feito pelo bloco try catch Sintaxe: try // chamadas de métodos que podem lançar exceções catch (Exception e) // ações correspondentes à detecção de uma determinada exceção

43 Capturando e tratando exceção Exemplo: try FileWriter stream = new FileWriter( c:\teste.txt ); PrintWriter out = new PrintWriter(stream); out.println( oi ); out.close(); catch ( IOException erro ) System.out.println ("Erro na escrita dos dados" ); Podem lançar exceções Ex: java.io.filenotfoundexception

44 ARQUIVOS Há várias fontes (entrada) de onde se deseja ler, ou destinos (saída) para onde se deseja gravar ou enviar dados: Arquivos Conexões via socket com outros programas Memória Teclado, tela, impressora, mouse, etc Há várias formas diferentes de ler/escrever dados: Sequencialmente/aleatoriamente Como bytes, como caracteres Linha por linha, palavra por palavra, etc Como oferecer estes serviços em Java??

45 ESCRITA/GRAVAÇÃO EM ARQUIVOS TEXTO Compreende a criação do arquivo, o armazenamento dos dados, e o fechamento do arquivo FileWriter: Estabele a conexão com o arquivo. Usado para a saída, para um arquivo, baseada em caracteres FileWriter arq = new FileWriter( nomearq ); PrintWriter: Para escrevermos Strings no arquivo, precisamos de um objeto PrintWriter associado ao FileWriter PrintWriter out = new PrintWriter( arq ); Podemos então usar os métodos print() e println() da classe PrintWriter Devemos implementar o código dentro de um bloco try/catch, pois exceções podem ser geradas (IOException)

46 ESCRITA SEQUENCIAL EM ARQUIVOS TEXTO BufferredWriter: Esta classe permite uma saída buferizada Uma operação de saída não grava imediatamente os dados no arquivo Com o método flush(), de tempos em tempos uma quantidade de dados é enviada para o arquivo

47 LEITURA SEQUENCIAL EM ARQUIVOS TEXTO Consiste na recuperação das informações armazenadas em um arquivo, para serem utilizadas por determinado programa FileReader: Estabele a conexão com o arquivo. Uma operação de entrada lê um caracter. Ou seja, trabalha com um caracter por vez FileReader ent = new FileReader( nomearq ); BufferedReader: Entrada buferizada. Uma operação de entrada lê vários caracteres de uma única vez BufferedReader br = new BufferedReader (ent); Método utilizado para leitura: br.readline() Este método retorna null quando o final do arquivo for atingido

48 UsarArquivo.java public class UsarArquivo public static void main( String[] args ) String nome[]=new String [3]; int idade[]=new int [3]; double nota[] = new double [3]; nome[0] = "José da Silva"; nome[1] = "Márcia Bastos"; nome[2] = "Carla Pereira"; idade[0] = 23; idade[1] = 20; idade[2] = 18; nota[0] = 7.5; nota[1] = 7; nota[2] = 8.5; GerenciamentoArquivos gerente = new GerenciamentoArquivos(); gerente.escrita( "teste.dat", nome, idade, nota ); gerente.leitura( "teste.dat" );

49 GerenciamentoArquivos.java 1/3 import java.io.*; public class GerenciamentoArquivos public void escrita ( String nomearq, String[] vet1, int[] vet2, double[] vet3 ) try FileWriter arq = new FileWriter( nomearq ); PrintWriter out = new PrintWriter( arq ); for ( int i=0; i<vet1.length; i++ ) String linha = vet1[i] + ":" + vet2[i] + ":" + vet3[i]; out.println( linha ); out.close(); catch ( IOException erro ) System.out.println ( "Erro na escrita dos dados" ); //fim do método escrita()

50 GerenciamentoArquivos.java 2/3 public void leitura ( String nomearq ) try FileReader ent = new FileReader( nomearq ); BufferedReader br = new BufferedReader ( ent ); String linha; String[] campos = null; while ( (linha = br.readline())!= null ) campos = linha.split( ":" ); String nome = campos[ 0 ]; int idade = Integer.parseInt( ( campos[1]) ); double nota = Double.parseDouble( campos[2].replace( ",", "." ) ); System.out.println( "Nome=" + nome + " Idade=" + idade + " Nota=" + nota ); br.close();

51 GerenciamentoArquivos.java 3/3 catch ( IOException erro ) System.out.println ( "Erro na leitura dos dados" ); // Fim do método leitura() // Fim da classe

52 PERSISTÊNCIA DE DADOS: SERIALIZAÇÃO Como permitir a serialização/deserialização em Java??? Fazendo os objetos implementarem a interface Serializable Serializable não tem métodos. Serve apenas para indicar que os atributos destes objetos podem ser serializados e deserializados

53 ESCRITA DE OBJETOS - SERIALIZAÇÃO Passos para gravar/escrever um objeto serializado em um arquivo Criar um objeto FileOutputStream: FileOutputStream arq = new FileOutputStream(nomeArq); Criar um objeto ObjectOutputStream: ObjectOutputStream os = new ObjectOutputStream( arq ); Gravar o objeto: os.writeobject ( objeto ); Fechar o objeto ObjectOutputStream: os.close();

54 LEITURA DE OBJETOS - DESERIALIZAÇÃO Restauração do estado de um objeto Criar um objeto FileInputStream: FileInputStream arq = new FileInputStream(nomeArq); Criar um objeto ObjectInputStream: ObjectInputStream is = new ObjectInputStream(arq); Ler o objeto: Medicamento m=(medicamento) is.readobject(); Trabalhar com o objeto: System.out.print( "Nome: " + m.getnome() ); Fechar o objeto ObjectOutputStream: is.close();

55 Medicamento.java 1/2 import java.io.serializable; public class Medicamento implements Serializable String nome; double preco; public Medicamento () public Medicamento (String novonome, double novopreco) this.nome = novonome; this.preco = novopreco; public void setnome(string novonome) this.nome = novonome;

56 Medicamento.java 2/2 public void setpreco(double novopreco) this.preco = novopreco; public String getnome() return this.nome; public double getpreco() return this.preco; public void escrevermedicamento() System.out.println("Nome" + this.nome); System.out.println("Preco" + this.preco);

57 TestaFarmaciaSerializacao.java 1/2 public class TestaFarmaciaSerializacao public static void main( String[] args ) Farmacia ufu = new Farmacia(); /* cadastro de medicamentos */ Medicamento m = new Medicamento("a", 5.6); ufu.cadastramedicamento(m); m = new Medicamento("b", 15.6); ufu.cadastramedicamento(m); m = new Medicamento("c", 25.6); ufu.cadastramedicamento(m); m = new Medicamento("d", 35.6); ufu.cadastramedicamento(m); m = new Medicamento("e", 3.6); ufu.cadastramedicamento(m);

58 TestaFarmaciaSerializacao.java 2/2 //Serializa os objetos ufu.escrevermedicamentos( "medicamentos.dat" ); //Deserializa os objetos ufu.lermedicamentos( "medicamentos.dat" );

59 Farmacia.java 1/5 import java.io.*; public class Farmacia Medicamento lista[] = new Medicamento[100]; int estoque = 0; public void cadastramedicamento (Medicamento m) lista[estoque] = m; estoque++; public void cadastrmedicamento (String nome, double preco) Medicamento m = new Medicamento(nome, preco); lista[estoque] = m; estoque++;

60 //OUTROS MÉTODOS Farmacia.java 2/5 public void escrevermedicamentos() for (int i = 0; i<estoque; i++) lista[i].escrevermedicamento();

61 Farmacia.java 3/5 public void escrevermedicamentos( String nomearq ) try FileOutputStream arq=new FileOutputStream(nomeArq); ObjectOutputStream os=new ObjectOutputStream(arq); for ( int i=0; i<estoque; i++ ) os.writeobject( lista[i] ); os.close(); arq.close(); catch ( IOException erro ) System.out.println ( "Ocorreu um erro na escrita dos dados" + erro ); // Fim do método escrevermedicamentos( String )

62 Farmacia.java 4/5 public void lermedicamentos( String nomearq ) try FileInputStream arq=new FileInputStream(nomeArq); ObjectInputStream is=new ObjectInputStream(arq); for ( int i=0; i<estoque; i++ ) Medicamento m = (Medicamento) is.readobject(); System.out.print( "Nome: " + m.getnome() ); System.out.println( " Preco: " + m.getpreco() ); is.close(); arq.close();

63 Farmacia.java 5/5 catch ( IOException erro ) System.out.println ( "Ocorreu um erro na escrita dos dados: " + erro ); catch ( ClassNotFoundException erro ) System.out.println ( "Ocorreu um erro de leitura no arquivo: " + erro ); //Fim do método lermedicamentos() //Fim da classe

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 8.1 - A classe File Antes de podermos ler/escrever de/para um ficheiro temos que criar um objecto do tipo File e associar esse objecto ao ficheiro a que queremos aceder. Para isso usamos um dos construtores

Leia mais

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?

Leia mais

Gravação de objetos em arquivos

Gravação de objetos em arquivos Gravação de objetos em arquivos Programação Orientada a Objetos Prof. Tulio Alberton Ribeiro Instituto Federal de Santa Catarina IFSC campus São José tulio.alberton@ifsc.edu.br 17 de setembro de 2014 1

Leia mais

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

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

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

Leia mais

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1

Prof. A. G. Silva. 13 de novembro de Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de / 1 INE5603 Introdução à POO Prof. A. G. Silva 13 de novembro de 2017 Prof. A. G. Silva INE5603 Introdução à POO 13 de novembro de 2017 1 / 1 Introdução à manipulação de arquivos Prof. A. G. Silva INE5603

Leia mais

InputStream e OutputStream para ler/ escrever bytes e das classes abstractas Reader e Writer para ler /escrever caracteres (texto).

InputStream e OutputStream para ler/ escrever bytes e das classes abstractas Reader e Writer para ler /escrever caracteres (texto). Input e Output 8 Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo físico

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse

Leia mais

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

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Programaçã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 mais

Linguagem de Programação. Diagrama de classes

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

Leia mais

Reader e Writer para streams de caracteres (texto).

Reader e Writer para streams de caracteres (texto). Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo

Leia mais

Herança. Herança. Herança. Herança. Herança. Programação Orientada a 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

Leia mais

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção.

Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável - O controlo da execução do programa

Leia mais

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

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

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa é transferido

Leia mais

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

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

Leia mais

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

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 6 Exceções Quando um programa viola as restrições semânticas da linguagem, a JVM assinala um erro ao programa, sob a forma de exceção. Uma exceção é um erro recuperável O controlo da execução do programa

Leia mais

Como pôde verificar, a criação de um objecto do tipo File não cria o ficheiro em disco.

Como pôde verificar, a criação de um objecto do tipo File não cria o ficheiro em disco. Folha 1-1 I/O em java (pakage java.io) A classe File A classe File (subclasse de Object) permite manipular os ficheiros e as directorias de um sistema de ficheiros. 1 - Substituindo o texto d:\\my_work\\

Leia mais

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

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

Leia mais

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos

AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Câmpus Santa Helena Curso: Ciência da Computação Disciplina: Programação Orientada a Objetos AULA 8 Polimorfismo de: coerção, overloading, inclusão e paramétrico Prof. Dr. Fernando Henrique Campos Tema

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Introdução Exceções São eventos que

Leia mais

Hierarquia de classes. Veja as diversas classes do pacote

Hierarquia de classes. Veja as diversas classes do pacote Entrada e Saída Introdução Input e Output fazem parte do pacote java.io Esse pacote tem uma quantidade grande de classes que dão suporte a operações de entrada e saída As classes básicas são InputStream

Leia mais

Herança e Propriedades

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

Leia mais

Classes e Objetos. Sintaxe de classe em Java

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

Leia mais

Notas de Aula 09: Tratamento de exceções

Notas de Aula 09: Tratamento de exceções Notas de Aula 09: Tratamento de exceções Objetivos da aula: Compreender o conceito de exceção Aprender a tratar exceções nos programas Entender a hierarquia das exceções Criar e lançar uma exceção proprietária

Leia mais

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

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

Leia mais

Programação 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 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 mais

Arquivos continuação. Profa. Thienne Johnson EACH/USP

Arquivos continuação. Profa. Thienne Johnson EACH/USP Arquivos continuação Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 14 Serialização de objetos Lê e escreve objetos inteiros em arquivo; Arquivo em formato binário.

Leia mais

Programaçã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 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 mais

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

Paradigmas de Linguagens de Programação. Suporte para Programação Orientada a Objeto Suporte para Programação Orientada a Objeto Cristiano Lehrer Categoria das Linguagens que Suportam POO Suporte a POO acrescentado a uma linguagem já existente: C++ (também suporta programação procedural

Leia mais

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

Conceitos de Interface; classes abstratas; Diagrama de sequencia, Diagrama de atividades, classes aninhadas e Listas dinâmicas

Conceitos de Interface; classes abstratas; Diagrama de sequencia, Diagrama de atividades, classes aninhadas e Listas dinâmicas Curso APOO Disciplina Linguagem de Programação II Curso Engenharia da Computação Conceitos de Interface; classes abstratas; Diagrama de sequencia, Diagrama de atividades, classes aninhadas e Listas dinâmicas

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Herança de classes concretas e Object A superclasse que passamos para a cláusula extends não precisa ser

Leia mais

Avançando em Java com Polimorfismo. Prof.: Hugo Barros

Avançando em Java com Polimorfismo. Prof.: Hugo Barros Avançando em Java com Polimorfismo Prof.: Hugo Barros Tópicos da Aula Polimorfismo: Exemplos de polimorfismo Vantagens do polimorfismo Tipos de polimorfismo Métodos Abstratos Classes Abstratas Vinculação

Leia mais

Manipulação de arquivos. João Paulo Q. dos Santos

Manipulação de arquivos. João Paulo Q. dos Santos Manipulação de arquivos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Introdução Uma das principais facilidades em Java, comparando com outras linguagem de programação, é a facilidade na leitura e

Leia mais

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

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

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

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

Leia mais

Polimorfismo. O que é polimorfismo?

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

Leia mais

Heranç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 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 mais

Classe Abstrata e Interface

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

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Array de objectos Array de objectos Criação Exemplo:

Array de objectos Array de objectos Criação Exemplo: Array de objectos Nos exemplos anteriores array armazenava dados de tipos primitivos. Array de objectos é um array cujos elementos são objectos ou, mais correctamente, referências para objectos. Característica

Leia mais

Linguagem de Programação IV Introdução

Linguagem de Programação IV Introdução Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação

Leia mais

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

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

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

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

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Persistência alberto@ufs.br de Programação Departamento de Computação Universidade Federal de Sergipe Retrospectiva Quanto ao Tempo de Vida Variáveis Estáticas Variáveis Stack-Dinâmicas Variáveis Heap-Dinâmicas

Leia mais

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

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

Leia mais

POO29004 Programação Orientada a Objetos

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

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc.

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 4. Sistemas de Tratamento de Exceções Exceções genéricas Classes de exceções

Leia mais

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Laboratório de Programação. Aula 12 Java 5COP088. Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr 5COP088 Laboratório de Programação Aula 12 Exceções Prof. Dr. Sylvio Barbon Junior 1 Sumário: 1) Manipulação de Exceções; 1) Try e Catch 2) Finally 3) Propagação (Throw e Throws) 2) Erros e Exceções Comuns;

Leia mais

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

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

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

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

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

Leia mais

Reader e Writer para streams de caracteres (texto).

Reader e Writer para streams de caracteres (texto). Folha 1-1 Recordando POO: Streams Uma stream é uma abstracção que representa uma fonte genérica de entrada de dados ou um destino genérico para escrita de dados que é definida independentemente do dispositivo

Leia mais

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo

Polimorfismo. PARTE II: Java e OO. Polimorfismo. Polimorfismo. Polimorfismo. Polimorfismo PARTE II: Java e OO Interface Herança Herança e polimorfismo Classes e métodos abstratos : muitas formas de implementação de uma operação Permite esconder diferentes implementações atrás da mesma interface

Leia mais

Aula 9 POO 1 Polimorfismo. Profa. Elaine Faria UFU

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

APIs Java: Tratamento de exceções e Coleções

APIs Java: Tratamento de exceções e Coleções APIs Java: Tratamento de exceções e Coleções POO29004 Engenharia de Telecomunicações Prof. Emerson Ribeiro de Mello http://docente.ifsc.edu.br/mello/poo 16 DE ABRIL DE 2019 Tratamento de Exceções Um simples

Leia mais

Introdução. LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++.

Introdução. LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++. Java Parte I mleal@inf.puc-rio.br 1 Introdução LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++. Todos os programas Java são compilados e interpretados. O compilador

Leia mais

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Heranç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 mais

Programação Orientada a Objetos SANTOS, Rafael (PLT)

Programação Orientada a Objetos SANTOS, Rafael (PLT) Programação Orientada a Objetos SANTOS, Rafael (PLT) Possibilita atribuições em sequência na mesma instrução Retorna o valor atribuído Atribuições compostas: incluem a própria variável: +=, *=, -=, etc

Leia mais

POO29004 Programação Orientada a Objetos

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

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação LP: Laboratório de Programação Apontamento 14 Prof. ISVega Maio de 2004 Mecanismo de Exceções em Java CONTEÚDO 14.1Erros,

Leia mais

Strings e Arrays POO

Strings e Arrays POO Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um

Leia mais

Streams e Ficheiros I/O

Streams e Ficheiros I/O Streams e Ficheiros I/O Capítulo 9 Objectivos Familiarizar com o conceito I/O stream Entender a diferença entre ficheiros binários e de texto. Saber armazenar dados em ficheiros de texto. Saber ler dados

Leia mais

Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP

Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP Tratamento de Exceções cont. Profa. Thienne Johnson EACH/USP Java, como programar Deitel & Deitel Capítulo 14 continuação Todas as classes de exceção de Java herdam, direta ou indiretamente, da classe

Leia mais

Sobrecarga, Sobreposição e Polimorfismo

Sobrecarga, 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 mais

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

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

Leia mais

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

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções

Leia mais

Tratamento de Exceções

Tratamento de Exceções Tratamento de Exceções Carlos Bazilio Isabel Rosseti Depto de Ciência e Tecnologia Pólo Universitário de Rio das Ostras Universidade Federal Fluminense Motivação prever na implementação do sistema situações

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

Leia mais

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

Leia mais

Aula 13 POO 1 Tratamento de Exceções no Java. Profa. Elaine Faria UFU

Aula 13 POO 1 Tratamento de Exceções no Java. Profa. Elaine Faria UFU Aula 13 POO 1 Tratamento de Exceções no Java Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides

Leia mais

Linguagens de Programação Aula 12

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

Leia mais

Herança e Polimorfismo

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

Leia mais

Laboratório de programação II

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

Leia mais

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

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

Leia mais

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

Programação Orientada a Objetos Flávio de Oliveira Silva 144

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

Leia mais

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 mais

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

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

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 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 9 Tratamento de Exceções Assertivas 1 Programa Capítulo 9 Tratamento

Leia mais

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

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

Leia mais

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

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

Leia mais

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa

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

Leia mais

Programação Orientada a Objetos II

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

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programaçã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 mais

POO29004 Programação Orientada a Objetos

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

Herança e Classes Abstratas. João Paulo Q. dos Santos

Herança e Classes Abstratas. João Paulo Q. dos Santos Herança e Classes Abstratas João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Herança; Sobrescrita(sobreposição) de métodos; Herança e construtores; Conceitos sobre classes abstratas;

Leia mais

Programação Orientada a Objetos JAVA - NETBEANS

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

Leia mais

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos;

RESPOSTA: import java.util.arraylist; import java.util.list; class CarrinhoDeCompras2 { List<Produto> produtos; Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP2 2 semestre de 2016. Nome Assinatura Observações:

Leia mais