Dúvida em POO e vetores { String status = "RESOLVIDO" }
7 respostas
lucasgarofolo
Olá, pessoal. Um professor mandou a gente dar seguimento a uma classe dele, e tinha que ser do jeito que ele estava fazendo,
porém, ao ver ele fazendo, nao concordei muito, mas foi uma sacada inteligente. Ao tentar fazer aqui em casa, deu erro, o que eu já esperava.
Seguinte, eu vou postar o código comentado aqui embaixo, e alguem da uma olhada e ve se é possível.
// classe Contato com o método adicionar valores nas variaveis de classe.privateStringnome;privateStringtelefone;privateStringemail;privateStringendereco;publicvoidadicionar(){//aqui o professor pediu pra gente criar algum mecanismos para inserir os valores nos atributos, seja com Swing ou System.out mesmo.// não tem retorno.}
Agora a classe Agenda:
{Contatocontato[]=newContato[10];//criou um vetor da classe contatoprivateinttotalContato=0;publicvoidadicionar(){contato[totalContato].adicionar();//ele fez isso em sala explicando que ao chamar o método adicionar da classe contato, vc inseriria os valores nos atributos da classe Contato, e esse objeto ja ficaria guardado no vetor contato[] com os valores o objeto em questão.totalContato++;}
Olha… Não faz muito sentido um método adicionar sem parâmetros porque vc teria que ter os valores para atribuir aos campos do obeto contato… podes fazer isso pelo construtor d classe ou por métodos setters…
Vlw
lucasgarofolo
então, eu programo em MVC, tudo qe eu modelo é em MVC,
eu cheguei a falar pro professor se poderia mudar a lógica dele,
ele falou que não, qe ele nao precisa de getters e nem setters por enquanto.
Vou ter qe ver isso na sexta, pq nao faz sentido mesmo não.
getAdicted
lucasgarofolo:
então, eu programo em MVC, tudo qe eu modelo é em MVC,
eu cheguei a falar pro professor se poderia mudar a lógica dele,
ele falou que não, qe ele nao precisa de getters e nem setters por enquanto.
Vou ter qe ver isso na sexta, pq nao faz sentido mesmo não.
Opa, Tudo bem?
Não procure entrar em conflito com o professor da sua faculdade. Tente conversar com ele, em particular, de forma a não expô-lo, caso ele esteja errado, claro.
Pelo que eu entendi, ele pecou em um ponto, e aparemente, você tem um certo conhecimento, então, é natural que você se sinta incômodado, mas entenda que ele está apenas seguindo a grade curricular do curso, dessa forma, atendendo aqueles que possuem um conhecimento inferior ao seu e que tambem estão lá para aprender. :thumbup:
Me corrija se eu estiver errado…
[]'s
lucasgarofolo
getAdicted, não discordo e muito pelo contrário, eu tenho esse professor como um dos meus ídolos.
Ele leciona Estrutura de dados, e a linguagem escolhida pela faculdade para exemplificar foi o java, ele até brincou falando que não conhecia java,
e de modo algum eu vou expô-lo, como já disse, tenho ele como um dos caras mais brilhantes que eu conheço,
e pra esse problema ai do código, aposto que ele fez isso propositalmente hahahaha
mas obrigado pelo conselho !
abraço e obrigado.
A
AbelBueno
Acho que você não indicou qual erro deu (que você já esperava).
Batendo olho, imagino que vai dar um nullpointer ao chamar o método adicionar em um elemento do array.
Você instancia o array, mas não vi instanciar os objetos dele.
Com essa instanciação o código pode funcionar sim… o método adicionar seria responsável por preencher valores para a classe.
getAdicted
lucasgarofolo:
getAdicted, não discordo e muito pelo contrário, eu tenho esse professor como um dos meus ídolos.
Ele leciona Estrutura de dados, e a linguagem escolhida pela faculdade para exemplificar foi o java, ele até brincou falando que não conhecia java,
e de modo algum eu vou expô-lo, como já disse, tenho ele como um dos caras mais brilhantes que eu conheço,
e pra esse problema ai do código, aposto que ele fez isso propositalmente hahahaha
mas obrigado pelo conselho !
abraço e obrigado.
Então está tudo em casa
[]'s
lucasgarofolo
eu consegui resolver o problema,
eu criei a variavel de trabalho
privateContatocontato[];
que é um vetor que vai receber objetos da classe contato,
só que eu não criei o objeto dentro do contato,
então fica da seguinte forma.
privateContatocontato[];privateinttotalContato;//construtorpublicAgenda(){contato=newContato[10];// especifiquei o tamanho, mas só isso ainda nao iria pegar.totalContato=0;}publicvoidadicionar(){if(!this.verificaTamanho())thrownewIllegalArgumentException("Vetor lotado!");else{contato[totalContato]=newContato();//aqui eu criei o objeto para a posição selecionadacontato[totalContato].adicionar();//aqui eu chamei o método para adicionar valores as variaves da minha outra classe.totalContato++;}}