Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02.

Documentos relacionados
Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Linguagem de programação métodos/funções

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

Linguagem de Programação II Implementação

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Universidade Estadual de Santa Cruz

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

Orientação a Objetos e Java

Linguagem de Programação III

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS

Relacionamentos entre objetos

POO29004 Programação Orientada a Objetos

Classes e Objetos em Java. Algoritmos e Programação I. Classes. Classes. Modificadores de Acesso. Classes. Revisão

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

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

Conceitos Básicos da Programação OO

Programação Orientada a Objetos em Java

Classes, instâncias e métodos de acesso. prática

Classes e Objetos. Sintaxe de classe em Java

Interfaces e Classes Abstratas

Programação Orientada a Objetos - 3º semestre AULA 06 Prof. André Moraes

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

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

Interfaces POO. Prof. Marcio Delamaro

Exercícios sobre repetição. 1. Escreva um método que lê via teclado 8 números e retorna a quantidade de negativos.

1 Introdução e Conceitos básicos

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

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

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Linguagem de programação Java

Aula 6 POO 1 Construtores. Profa. Elaine Faria UFU

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

Aula 08 Encapsulamento. Disciplina: Programação Estruturada e Orientada a Objetos Prof. Bruno Gomes

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.

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

PCS Laboratório de Programação Orientada a Objetos 1a. Prova. 02 de Setembro de 2015

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

U.C. (21093) Programação por Objetos. XX de Julho de INSTRUÇÕES --

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

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

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

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

POO29004 Programação Orientada a Objetos

Linguagem de Programação. Diagrama de classes

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Programação Orientada a Objetos

Programação Orientada por Objectos 2007/2008

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

Análise de Programação

PROGRAMAÇÃO ORIENTADA A OBJETOS: CONSTRUTORES

Construtores e Especificadores de Acesso

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

POO29004 Programação Orientada a Objetos

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Herança e Propriedades

AULA 6 - ARRAYS. Array de 10 elementos

Lista de exercícios 2

Programação Orientada a Objetos

Universidade Estadual de Santa Cruz

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert

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

INSTRUÇÕES DE REPETIÇÃO

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

Visibilidade e Encapsulamento

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -

5. Escreva um método em Java de nome MaiorNumero, que recebe quatro números inteiros e retorna o valor do maior deles.

O que estas classes possuem em comum? 1) 2) 3)

Escreva em Java a classe NumeroComplexo que represente um número complexo. A classe deverá ter os seguintes construtores:

Curso: Técnico em Informática Integrado Disciplina: Algoritmos Carga horária: 60h (80h/a) Período: 2º Ano Professor: Edmilson Barbalho Campos Neto

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

POO fundamentos Parte II. Professor Vicente Paulo de Camargo

POO Programação Orientada a Objetos

Exercícios sobre herança e polimorfismo

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

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Apêndice A. Alguns construtores e métodos importantes e úteis da classe Vector são:

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Linguagem de Programação IV Introdução

COMPORTAMENTOS - Observações

EXPRESSÕES BOOLEANAS. Ex: boolean b = false; // declara uma variável do tipo boolean e atribui false

Vetores. IFSC/Florianópolis - Programação Orientada a Objetos + POO - prof. Herval Daminelli

A figura abaixo representa uma classe denominada Carteira. Esta classe é composta dos métodos depositar(valor) e retirar(valor) e do atributo saldo.

Orientação a objetos Disciplina: Linguagens de Programação. Prof. Alexandre Cassimiro Andreani

Construtores. Introdução

JAVA TÓPICOS ESPECIAIS DE PROGRAMACAO ORIENTADA A OBJETOS

Transcrição:

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Campus João Câmara Avenida Antônio Severiano da Câmara / BR 406, Km 101, s/n Zona Rural. Bairro Amarelão João Câmara/RN - CEP: 59550-000. Telefone: (84) 3262-2285. Fax: (84) 4005-2694. URL: http://www.ifrn.edu.br/joaocamara. E-mail: gabinete.joaocamara@ifrn.edu.br Curso: Técnico em Informática Integrado Disciplina: POO Carga horária: 60h Período: 2º Ano Professor: Edmilson Barbalho Campos Neto LISTA 02 Conteúdo Introdução à Programação Orientada à Objeto Objetos em Java. 1. O que define a assinatura de um método? Questões 2. O que é um construtor padrão? Como os atributos de um objeto são inicializados se uma classe possui apenas um construtor padrão definido implicitamente? 3. O que são os membros de uma classe? 4. Qual o objetivo dos atributos de uma classe? 5. Explique porque uma classe deve, preferencialmente, definir seus atributos com visibilidade privada. 6. Qual a diferença entre objeto e classe? 7. Explique o princípio do encapsulamento e seus principais benefícios. 8. Por que podemos dizer que uma classe serve como um molde de suas instâncias? 9. O que constitui o estado de um objeto? Objetos de mesma classe possuem estados iguais? 10. O que define o comportamento de um objeto? 11. Na linguagem de programação Java, como é possível promover o princípio do encapsulamento? 12. Qual a diferença de tipos de valores e tipos de referências em Java, exemplifique. 13. Qual o objetivo do construtor de uma classe? 14. Dado o seguinte trecho de código em Java: Lampada l1 = new Lampada(); Lampada l2 = new Lampada(); l1.ligar(); l2 = l1; l1.desligar(); if (l2.estaligada()) System.out.println("l2 est a ligada"); else System.out.println("l2 est a desligada");

Responda: (a) O que será impresso? Por quê? (b) Desenhe o heap e a referência das variáveis l1 e l2 após a execução de cada linha. 15. Considerando o código a seguir, faça um desenho mostrando o estado de cada objeto ao final do método main. public class A { private int i; private String id; public A(String id) { i = 0; this.id = id; public A() { i = 0; id = "sem id"; public void incrementar(){ i++; public void setid(string new_id){ id = new_id; public int geti(){ return i; public class B { private double valor; public int ordem; public B(double v) { valor = v; ordem = 1; public double getvalor(){ return valor; public void setvalor(double v){ valor = v; public class Aplicacao { public static void main(string[] args){ A a1 = new A(); A a2 = new A("ky"); B b1 = new B(25.3); B b2 = new B(19.0); for(int i = 0; i < 5; i++){ a1.incrementar(); if(i % 2 == 0) a2.incrementar(); b1.setvalor(a1.geti()); a2.setid("bg"); b1.setvalor(b1.getvalor() + 32.0); b2.ordem = a2.geti(); 16. Considerando o código abaixo, desenhe um diagrama mostrando o estado de cada objeto no término do método main. Inclua no desenho as referências presentes no programa. Qual é a saída (impressão) do método main? public class A{ public int id; public A(int id){ this.id = id;

public static void main(string[] args){ A a1 = new A(1); A a2 = new A(2); A a3 = new A(3); A r1 = a1; a1.id = 10; System.out.println(r1.id); A p1 = a3; System.out.println(p1.id); a2 = a3; p1.id = 5; System.out.println(a2.id); System.out.println(a3.id); A r2 = a2; r2.id = 12; p1 = r1; IMPLEMENTAÇÃO 17. Implemente uma classe Circulo que tenha métodos getarea() e getperimetro(). No construtor, forneça o raio do círculo. 18. Escreva uma classe PopulacaoBaratas que simule o crescimento de uma população de baratas, sendo que a quantidade inicial da população é fornecida ao construtor. O métodos aguardar() simula um período no qual a população dobra; O método pulverizar() simula a pulverização com inseticida, que reduz a população em 10%; O método getbaratas() retorna o número atual de baratas. Também implemente um programa de testes que simule uma cozinha que inicia com dez baratas. Espere, pulverize e imprima a contagem de baratas. Repita três vezes. 19. Implemente uma classe Carro com as seguintes propriedades: Um carro tem certa taxa de consumo (medida em km/l) e certa quantidade de combustível no tanque. A taxa de consumo é especificada no construtor e o nível de combustível inicial é zero. Forneça um método dirigir que simula dirigir o carro por determinada distância, reduzindo o nível de combustível no tanque, e métodos getcombustivel, que retorna o nível de combustível atual e adicionarcombustível, para colocar combustível. Exemplo de uso: Carro meufusca = new Carro(7); // 7 quilômetros por litro meufusca.addcombustivel(20); // Abastece com 20 litros meufusca.dirigir(100); // Dirigir por 100 km System.out.println(meuFusca.getCombustivel()); 20. Crie uma classe chamada ContaBancaria. Esta classe deve incluir uma variável de instância do tipo double para representar o saldo da conta. A classe deve prover um construtor que recebe um saldo inicial e o utiliza para inicializar o membro de dados. O construtor deve verificar se este valor é maior ou igual a zero. Em caso contrário, o construtor deve inicializar o atributo com zero e exibir uma mensagem de erro no console indicando que o valor foi inválido. A classe deve conter três operações. O método credito que adiciona uma quantia ao saldo corrente. O método debito que deve retirar dinheiro da conta caso a quantia a ser retirada não seja superior ao saldo da conta. Neste caso, o saldo deve ser deixado intacto e o método deve imprimir uma mensagem indicando que a quantia a retirar é superior ao saldo. E, por fim, o método getsaldo que deve retornar o saldo da conta. Implemente um programa que cria duas instâncias da classe ContaBancaria e testa os métodos da classe.

21. Crie uma classe chamada Fatura que será utilizada para representar a fatura de um item vendido por uma loja de eletrodomésticos. Uma Fatura deve incluir quatro informações como atributos: número (string), descrição (string), quantidade do item sendo vendido (int) e o preço do item (float). A classe deve possuir um construtor que inicializa os quatro atributos. Implemente um método get e set para cada atributo. Adicionalmente, crie um método chamado gettotal que calcula o total da fatura (i.e., multiplica a quantidade pelo preço do item) e então retorna o valor encontrado. Se o preço do item não for positivo, então ele deve ser definido como igual a zero. Escreva um programa que demonstra as capacidades da classe Fatura. 22. Escreva uma classe chamada IngressoDeCinema com a seguinte estrutura (dados): Além disso, a classe deve os seguintes métodos: No mínimo um construtor explícito, com a finalidade de inicializar todos os atributos. Um método chamado CalculaDesconto que deve receber como parâmetro a data de nascimento do cliente (do tipo Date) e caso seja menor de 12 anos, deve ser dado um desconto de 50% no valor normal, Um método sobrecarregado ao método CalculaDesconto que deve receber como parâmetro a data de nascimento do cliente (do tipo Date) e o número de sua carteira de estudante (do tipo int). Nesse caso, se o estudante tiver idade entre 12 e 15 anos, deve ser dado um desconto de 40%, de 16 a 20 um desconto de 30% e mais que 20 anos um desconto de 20% no valor normal. Um método chamado CalculaDescontoHorario que deve dar um desconto de 10% sobre o valor aferido após todas as outras opções de desconto, caso o horário do filme seja antes das 16 horas. Um método chamado tostring que deve imprimir todos os dados do ingresso. 23. Implemente uma classe para abstrair a representação dos dados básicos de um livro, sem se preocupar com a sua finalidade. Construa para a classe Livro o método equals() que recebe um outro objeto do tipo Livro como parâmetro e retorna true se o valor encapsulado for igual ao valor passado como parâmetro. Considere que dois livros são iguais quando possuem o mesmo título e ISBN.

24. Escreva uma classe em Java que simule uma calculadora bem simples. Essa classe deve ter como atributos duas variáveis double e uma char. Deve possuir um construtor que recebe como parâmetro dois números e um caractere, correspondente a uma das operações básicas (+, -, *, /). Deve ter um método para calcular a operação desejada e um para imprimir o resultado. O programa deve considerar divisões por zero como sendo erros, e imprimir uma mensagem adequada. 25. Implemente uma classe chamada Empregado que inclui quatro partes de informação como atributos: primeiro nome, último nome, cpf e salário mensal. Esta classe deve prover um construtor que inicializa os três membros de dados. Também implementar métodos get e set para cada atributo. Se o salário mensal não for positivo, ajuste seu valor para zero. Construa ainda os métodos tostring() e equals(empregado: Empregado) para esta classe. Escreva um programa que cria duas instâncias de Empregado e exibe o salário anual de cada objeto. Em seguida o programa deve dar um aumento de 10% para cada objeto e exibir novamente o salário anual de cada empregado. Faça um desenho indicando o estado final de cada objeto.