Sunteți pe pagina 1din 7

Exerccios Sobre Java e o Paradigma Orientado a Objeto

1) Qual a diferena entre classe e objeto?


um objeto uma instancia de uma classe

Uma classe no um objeto, mas usada para constru-los. A classe pode ser entendida como um projeto de um objeto. Ela informa mquina virtual como criar um objeto desse tipo especfico. Cada objeto criado a partir dessa classe ter seus prprios valores para as variveis de instncia da classe. Por exemplo, podemos usar a classe Boto para criar vrios botes diferentes, e cada boto poder ter sua prpria cor, tamanho, forma, rtulo e assim por diante. Objeto: a instncia de uma classe. Ou seja, uma varivel do tipo de dado definido pela classe. Possuem caractersticas (atributos) comportamentos (mtodos). Objetos do mundo real possuem caractersticas e comportamentos. J objetos de software armazenam suas caractersticas em atributos (variveis) e implementam seus comportamentos em mtodos Exemplo: Pessoa joao = new Pessoa(); joao.idade = 30; joao.andar(); Classe: Representa a abstrao de uma entidade (objeto) mundo real. A Classe define as caractersticas e comportamentos desta entidade (objeto) do mundo real. caractersticas so os atributos e os comportamentos so mtodos. do os As os

A classe estabelece o formato dos objetos, portanto define um tipo de dado. a representao de um conjunto de objetos que compartilham as mesmas caractersticas e comportamentos. Exemplo:
public class Pessoa{ String nome; int idade; String endereco; public void andar(){ }

public void informarIdade(){ } }

2) Qual a finalidade do mtodo construtor? O responsvel pela instanciao de um objeto sempre ser um mtodo construtor disponvel em sua classe. Todo construtor possui o mesmo nome da classe a que se refere e h um construtor padro na maioria das classes que dispensa o uso de argumentos. Toda classe tem, pelo menos, um construtor que o compilador adiciona, quando nenhum for declarado (construtor default). 3) Identifique na instruo abaixo: a classe, o objeto, o construtor e a operao de instanciao. Computador computador = new Computador(); Computador classe Objeto Computador Isntanciao = new 4) O que diferencia um construtor de um mtodo qualquer? Algumas classes possuem um construtor padro que eficaz para a criao de objetos. Entretanto, possvel substituir esse construtor padro por outro diferente, definindo-se parmetros e adicionando-se quaisquer tipos de instrues que deseje que sejam executadas sempre que um novo objeto for criado. Sintaxe para a criao de um mtodo construtor: public <nome> ([<parmetros>]){ } 5) Observe que a classe abaixo no possui um construtor, porm para que seja criado um objeto sempre necessrio utilizar o operador new seguido do nome do construtor. Desta forma, no ser possvel criar um objeto desta classe? Explique.
public class Garrafa{ private String tipo; public void setTipo (String tipo){

this.tipo = tipo; } public String getTipo(){ return tipo; } }

6) A classe abaixo parecida com a classe do exerccio anterior, porm agora ela possui um construtor alternativo. O que ir acontecer se em outra classe voc desejar criar um objeto da mesma com a seguinte instruo: Garrafa gar = new Garrafa();
public class Garrafa{ private String tipo; public Garrafa (String tipo){ this.tipo = tipo; } public void setTipo (String tipo){ this.tipo = tipo; } public String getTipo(){ return tipo; } }

7) As duas classes abaixo no esto no mesmo pacote. Faa uma anlise das mesmas e corrija possveis erros de compilao.
public class Carro{ protected int litrosNoTanque; protected boolean carroLigado; private void encherTanque(int litros){ litrosNoTanque = litros; } } public class TesteCarro{ public static void main (String args[]){ Carro carro = new Carro(); carro.encherTanque(10); carro.carroLigado = true; } }

8) Observe as classes Circulo e realize as seguintes tarefas:

TesteCirculo

abaixo

- Declare o atributo raio da classe Circulo como privado; - Crie os mtodos necessrios na classe Circulo de modo que seja possvel obter ou alterar o valor do atributo raio pela classe TesteCirculo; - Caso o objetivo seja alterar o valor do atributo raio, faa a seguinte verificao: Se o valor do novo raio for positivo, faa a atribuio, caso contrrio no faa; Siga as orientaes presentes TesteCirculo e execute cada tarefa;
public class Circulo{ double raio; }

na

classe

public class TesteCirculo{ public static void main /* Crie um objeto /* Coloque aqui o /* Coloque aqui o } }

(String args[]){ da classe Circulo */ codigo para alterar o raio para 10 */ codigo para obter o valor do raio */

9)

Observe as classes AcessaBanco e TesteBanco abaixo e realize as seguintes tarefas: - Declare os atributos login e conectado da classe AcessaBanco como privado; - Crie os mtodos necessrios na classe AcessaBanco de modo que seja possvel obter ou alterar o valor dos atributos login e conectado pela classe TesteBanco; - Siga as orientaes presentes na classe TesteBanco e execute cada tarefa;

public class AcessaBanco{ String login; boolean conectado; }

public class TesteBanco{

public static void main (String args[]){ /* Crie um objeto da classe AcessaBanco */ /* Coloque aqui o codigo para alterar o login para o seu nome */ /* Coloque aqui o codigo para ajustar conectado para true */ } }

10) Analise o cdigo abaixo e descreva em poucas linhas onde est o erro de compilao e qual seria a soluo para corrigir o mesmo.
public class TesteStatic{ private int a1; private int a2; public static void main (String args[]){ iniciar(10,40); } public void iniciar(int v1, int v2){ int b1 = v1; int b2 = v2; } }

11) Analise as classes abaixo e descreva em poucas linhas se existe erro de compilao ou no. E caso exista algum, descreva qual deveria ser a soluo.
public final class Veiculo{ private String chassi; public String getChassi(){ return chassi; } }

public class Carro extends Veiculo{ private String cad; public String getCad(){ return cad; } }

12) A classe mtodos.

Jogo

abaixo

foi

descrita

sem

atributos

public class Jogo{ }

Logo aps o processo de compilao foi utilizado o utilitrio javap (que transforma cdigo binrio em cdigo Java) e o mesmo retornou o cdigo abaixo.
public class Jogo extends java.lang.Object{ public Jogo(); }

Note que existem mais informaes no cdigo gerado pelo utilitrio javap do que o cdigo original. O que aconteceu?

13) Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois mtodos. Perceba que dentro do mtodo main esto sendo invocados mtodos e atributos que no pertencem classe. Isto um erro de compilao? Justifique sua resposta.
public class PessoaFisica extends Pessoa{ private String RG; public PessoaFisica(){ super(); } public String getRG(){ return RG; } public static void main (String args[]){ PessoaFisica pf = new PessoaFisica(); pf.setEndereco("Rua XV n. 10"); pf.setFone("2546-3274"); System.out.println(pf.endereco); System.out.println(pf.fone); } }

14) Faa um programa em Java para implementar uma calculadora simples com as quatro operaes bsicas da matemtica. Crie trs mtodos para cada uma das operaes e cada mtodo dever ser sobrecarregado, pois um deles deve receber apenas dois parmetros do tipo

int, o outro apenas dois parmetros do tipo float e o ltimo apenas dois parmetros do tipo String. Quando os parmetros forem do tipo String, os mesmos devero ser convertidos para o tipo int.

15) Crie uma classe Java chamada ClienteBanco com os seguintes atributos (privados): - nome; - Data de Nascimento; - CPF; - endereo; Alm do construtor padro, crie um construtor alternativo para iniciar cada um dos atributos. Crie os mtodos necessrios para acessar estes atributos. Faa a sobrescrita do mtodo toString() da classe Object para o mesmo retornar a seguinte mensagem: "O Sr." <nome> "portador do CPF n." <CPF> "nascido em" <data de nascimento> "residente e domiciliado a " <endereo> "vem por meio desta solicitar o encerramento de sua conta corrente". Crie um mtodo main e dentro do mesmo faa com que a mensagem gerada pelo mtodo toString() seja impressa na tela. 16) Crie uma classe Java chamada Pessoa com os seguintes atributos privados: - nome; - Data de Nascimento; Crie os mtodos necessrios para acessar estes atributos. Crie tambm um mtodo chamado "informarIdade", este mtodo deve imprimir na tela a idade desta pessoa em anos, meses e dias. Crie um mtodo main para criar um objeto da classe Pessoa, inicie os atributos "nome" e "Data de nascimento" e em seguida chame o mtodo "informarIdade" para que o mesmo informe a idade desta Pessoa. 17) dfdfd

S-ar putea să vă placă și