Dúvidas

5 respostas
D

Pessoal, eu to lendo várias apostilas, vários livros, mas ainda estou penando pra entender como é o esquema de utilizar classes, métodos e criação de objetos.

Será que podem definir alguns conceitos que ainda não ficaram claros pra mim?!
Vou por em tópicos, pra verem o que eu não entendi :cry:

[list]Overloading[/list]
[list]this[/list]
[list]Arrays[/list]

Acho que é mais isso mesmo…mesmo me dedicando várias horas fiárias, estou sofrendo pra aprender…
Agora estou tentando fazer uma agenda aqui…to algumas horas tentando já.Vamos ver se consigo :wink:

Obrigado desde já!
Gustavo

5 Respostas

A

[list]Overloading [/list] Isto é quando você sobrecarrega um metodo, ou seja você faz varios metodos com nomes iguais, porem com parametros diferentes.

Ex

class Exemplo {
	
	private int valor;
	
	public void setValor(int valor) {  
		this.valor = valor;
	}
	
	public void setValor() {
		this.valor = 10;
	}
}
Repare no código acima que existe dois metodos com o nome "SetValor" porém um eu preciso passar um inteiro como valor e o outro não é necessário passar parametro. Isto é uma sobrecarga "Overloading"

[list]this[/list]
Agora referente a dúvida this veja o exemplo acima, no metodo "public void setValor(int valor) { " eu tenho duas variaveis valor, uma que seria o valor do parametro, e outra que é o atributo "valor" definido na classe.. Quando você coloca this, esta dizendo que quer referenciar ao "valor" definido na classe e não o parametro do metodo.

[list]Array[/list]
Array seria uma coleção de variaveis do mesmo tipo, em vez de você declarar 10 variaveis do tipo int, voce declara um array (lista) que contem 10 variaveis do tipo int... e você se referencia ela pelo indice.

Array tem muito conteudo na internet... !!! Qualquer dúvida sobre as explicações estaremos ae para responder

Att.

Astork

D

Obrigado amigo :smiley:

Mas, ainda me restam algumas dúvidas…

[list]Qual a vantagem de se usar o Overloading?[/list]

[list]Como funciona o this()?[/list]

[list]No caso do Array, como fazer um de 100 elementos, e com um método adicionar(), ir adicionando registros nos elementos vazios dessse array?[/list]

Obrigado,
Gustavo

B

Sobrecarregamento geralmente serve pra ter várias entradas de argumentos para fazer a mesma coisa.

this() é uma chamada ao construtor sem parâmetros da classe.

Sobre o array:

private int[] meuArray = new int[100];
private int i;

public void adicionar(int elemento) {
  if (i == meuArray.length)
    throw new RuntimeException("O array já está cheio.");

  meuArray[i] = elemento;
  i++;
}

O ideal mesmo seria usar uma List e chamar o método add dela.

D

É qual a vantagem de criar várias entradas difeentes?Continuo sem entender…é para dividir a tarefa, e assim diminuir o peso na hora que uma informação é chamada?

Não entedi a explicaçao do this()…pode me dar alguns exemplos?

Isso que você críou é um Array?!Pensei que fosse uma Matriz :frowning:
Se não me engano nas APIs tem uma classe Array e outro ArrayList…só se essa que você usou é o Array, e o ArrayList é o que tem metodos como add()

Voc~es podem me explicar a diferença entre Matriz, Arrays, e Arrays Lists?

O que faz throw?!

São muitas perguntas :lol:
Vocês devem tar me achando chato! :oops:
Mas é que quero muito aprender Java e estou correndo atrás disso!!

Obrigado ^^

B
DarkKiller:
É qual a vantagem de criar várias entradas difeentes?Continuo sem entender...é para dividir a tarefa, e assim diminuir o peso na hora que uma informação é chamada? Não entedi a explicaçao do this()...pode me dar alguns exemplos?
Explicando ambos os conceitos juntos:
import java.awt.Color;

public class Ponto3D
{
   private double x;
   private double y;
   private double z;
   private Color cor = Color.WHITE;

   public Ponto3D()
   {
      this.x = 0.0;
      this.y = 0.0;
      this.z = 0.0;
   }

   public Ponto3D(double x, double y, double z)
   {
      this.x = x;
      this.y = y;
      this.z = z;
   }

   public Ponto3D(Color cor)
   {
      // this deve ser a primeira expressão do método.
      this(); // inicia as posições padrão (0,0,0)
      this.cor = cor;
   }

   public Ponto3D(double x, double y, double z, Color cor)
   {
      this(x, y, z);
      this.cor = cor;
   }
}
(exemplo tosco, mas tudo bem... ;)
DarkKiller:
Isso que você críou é um Array?!Pensei que fosse uma Matriz :( Se não me engano nas APIs tem uma classe Array e outro ArrayList...só se essa que você usou é o Array, e o ArrayList é o que tem metodos como add()

Voc~es podem me explicar a diferença entre Matriz, Arrays, e Arrays Lists?


Matrizes são arrays/vetores de duas ou mais dimensões. Ou talvez seja mais correto dizer que arrays/vetores são matrizes de uma dimensão :)

Array é um conjunto de dados estático, ou seja, que não pode comportar um tamanho maior que o especificado na sua criação.
Por outro lado ArrayLists, e todos as outras Collections, são dinâmicas, o método add delas faz o trabalho de crescer de tamanho quando necessário.

DarkKiller:
O que faz throw?!
Estude o capítulo sobre exceções. :)
Criado 16 de novembro de 2008
Ultima resposta 17 de nov. de 2008
Respostas 5
Participantes 3