Fórum Duvida , sobre Boa pratica de Progamaçao #417769

30/05/2012

0

Pessoal estou com uma duvida de iniciante ai ai sou um iniciante em java!
para uma boa pratica de programação oque é certo fazer

1) Um metodo resgistraEntrada() e instanciando como eu fiz la em baixo
           
    public void registrarEntrada() {

          System.out.println(\nDIGITE O NOME DO LOCATÁARIO);
          nomeLocatario = scan.nextLine();

          System.out.println(\nDIGITE A DIA ENTRADA);
          diaEntrada = scan.nextInt();

          System.out.println(\nDIGITE O MÊS DE ENTRADA);
          mesEntrada = scan.nextInt();

          System.out.println(\nDIGITE O ANO ENTRADA);
          anoEntrada = scan.nextInt();

          System.out.println(\nDIGITE A HORA DA ENTRADA);
          horaEntrada = scan.nextInt();

          System.out.println(\nDIGITE O MINUTO DA ENTRADA);
          int minuto = scan.nextInt();

          AluguelQuarto aluguelQuarto = new AluguelQuarto(nomeLocatario, diaEntrada, mesEntrada, anoEntrada, horaEntrada, minutoEntrada);

     }


2) Passar dodos esse daddos de entrada para a classe de teste main(String[] args)

     public static void main(String[] args) {

          System.out.println(\nDIGITE O NOME DO LOCATÁARIO);
         String nomeLocatario = scan.nextLine();

          System.out.println(\nDIGITE A DIA ENTRADA);
        int  diaEntrada = scan.nextInt();

          System.out.println(\nDIGITE O MÊS DE ENTRADA);
         int mesEntrada = scan.nextInt();

          System.out.println(\nDIGITE O ANO ENTRADA);
         int anoEntrada = scan.nextInt();

          System.out.println(\nDIGITE A HORA DA ENTRADA);
        int  horaEntrada = scan.nextInt();

          System.out.println(\nDIGITE O MINUTO DA ENTRADA);
          int minuto = scan.nextInt();

          AluguelQuarto aluguelQuarto = new AluguelQuarto(nomeLocatario, diaEntrada, mesEntrada, anoEntrada, horaEntrada, minutoEntrada);


     }


Obrigado pela ajuda
Paulo Cesar

Paulo Cesar

Responder

Posts

31/05/2012

Erackson Brito

Olá Paulo César.

Eu prefiro o caso 1. Tanto por questão de organização quanto por questão de reutilização de código.

[]´s
Responder

Gostei + 0

31/05/2012

Paulo Cesar

Amigo, me surgiu uma grande duvida agora, como eu instanciaria a classe AluguelChale com os dados ( nomeLocatario, diaEntrada, mesEntrada, anoEntrada, horaEntrada, minutoEntrada), se eu estou usando um método sobrescrito

essa é a minha grande duvida!!!

[code]
@Override
public void registrarEntrada() {

System.out.println(\nQUANTOS CAMAS VOCÊ QUER ALUGAR);
numeroCamasExtras = scan.nextInt();

super.registrarEntrada(); // esse é meu metodo da classe AluguelQuarto

AluguelChale aluguelChale = new AluguelChale(numeroCamasExtras, null, null, null,null , null, null);



}
[
/code]
Responder

Gostei + 0

31/05/2012

Davi Costa

Me parece que AluguelChale estende de AluguelQuarto, então possuem o mesmo atributos.
Seta os atributos em AluguelChale nesse método sobrescrito


att Davi
Responder

Gostei + 0

31/05/2012

Lucas Costa

Bom dia meus caros !!

Vamos la. Se o metodo é sobrescrito voce utiliza a mesma assinatura com uma nova implementacao. Este metodo é herdado da classe AluguelQuarto, neste caso voce está criando uma hierarquia. Sua classe AluguelChale é uma subclasse que poderá ser especializada com a declaracao de novos atributos. Nao há problema em instanciar um objeto AluguelChale para utilizar o metodo registrarEntrada(), pois se voce tem uma superclasse, entao tem as mesmas caracteristicas. Basta chamar o metodo atraves do novo objeto passando novos valores. Lembrando que voce pode utilzar construtores para setar os valores mas neste caso como eles nao sao herdados deve-se utilizar o super.
Responder

Gostei + 0

31/05/2012

Paulo Cesar

ficaria assim entao


AluguelChale aluguelChale = new AluguelChale(numeroDeCamas, super.getnomeLocatario, super.getdiaEntrada, super.getmesEntrada,              super.getanoEntrada, super.gethoraEntrada, super.getminutoEntrada);

Responder

Gostei + 0

01/06/2012

Lucas Costa

NAO. Como auxilio, observe abaixo o codigo que implementei para ajuda-lo:

public class SubClasseSecretaria extends SuperClasseFuncionario {

private String curso;

public SubClasseSecretaria(String nomeSecretaria,String matriculaSecretaria, String emailSecretaria, String setorSecretaria,String curso) {
super(nomeSecretaria, matriculaSecretaria, emailSecretaria, setorSecretaria);
this.curso= curso;
}

-----
NO MAIN:

SubClasseSecretaria subClasseSecretaria = new SubClasseSecretaria(CELIA,456,celia@fiemg,secretaria,adm);
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar