Avaliem se to indo bem

Bom eu estou tendo muito dificuldade de aprender POO.
Sei que isso num é nada,mas é o máximo que eu estou conseguindo compreender no momento.

Vê se ta certo e o que mais da para implementar.


package test.com.br;

public class Carro {
	private String dono;
	private String cor;
	private String modelo;
	private int ano;

	public String getDono() {
		return this.dono;
	}

	public String getCor() {
		return cor;
	}

	public String getmodelo() {
		return modelo;

	}

	public int getAno() {
		return ano;
	}

	public void setDono(String novoDono) {
		this.dono = novoDono;
	}

	public void setCor(String novaCor) {
		this.cor = novaCor;
	}

	public void setmodelo(String novoModelo) {
		this.modelo = novoModelo;
	}

	public void setAno(int ano) {
		this.ano = ano;
	}

}

		
	     

public class CarroTeste {

	public static void main(String[] args) {

		Carro carro1 = new Carro();
		carro1.setDono("Gabriel");
		carro1.setCor("Vermelho");
		carro1.setmodelo("fiat");
		carro1.setAno(2010);

		System.out.println(carro1.getDono());
		System.out.println(carro1.getCor());
		System.out.println(carro1.getmodelo());
		System.out.println(carro1.getAno());

	}

}

Outra duvida alguém sabe do que preciso para compreender esse emulador de um jogo Chamado WYD?
Eu jogo esse jogo e queria criar meu servidor com base nesse emulador que um cara traduziu do C# para o Java.
http://pastebin.com/bqhHcwLa

Cara ja joguei mt esse jogo, por uns 2 anos, e te falo criei meu server , fiz mts ediçoes mas digo pra vc achu mais facil vc editar o que vc quer que seus npcs seus mapas fazem na propria linguagem do jogo do que em java, pois tudo que se precisa editar la ja tem pronto ou e so ler algum tutorial .
abçs qqr coisa so pergunta.

Voce podia colocar alguns atributos como
int ano;
double velocidadeMax;
mts outras infinidades de atributos, podia usa alguns metodos get, set para alterar o carro a cor algo do tipo,
podia cria um array como varios modelos de carros, e so seria ruim saber as posiçoes que chamar do array,
tem mts coisa basicas legais de fazer q e o que faço em casa pra treina a sintaxe, e treina os conceitos .

Olha colega, te aconselho a procurar alguns livros sobre o assunto, como por exemplo o Head First: Java.

Eu no início também tinha certa dificuldade que foram resolvidas com esse livro, é muito bom pra quem tá começando…

Te aconselho a ler sobre a especificação JavaBeans, pra evitar de acessar seus atributos diretamente, o que não é uma boa prática.

Enfim, se você der uma garimpada pelo fórum vai achar ótimas dicas de material para iniciantes!

:wink:

Além das apostilas da Caelum (www.caelum.com.br) e da K19 (http://www.k19.com.br) também ouço falar muito bem das vídeo aulas da Universidade XTI, no youtube. Destes, só tive tempo até agora de ver o material da Caelum, que tem me ajudado bastante.

kinaouro,

parabéns pela iniciativa. Não deixe de ler e praticar MUITO. Os colegas citaram boas fontes acima. Acrescento também o livro “Java - Como Programar Edição 8”. Vale muito a pena!

Sobre o teu código: o principal (e pra começar) é incluir métodos getters e setters. Sabe do que se trata? São métodos de acesso aos atributos do teu objeto (no caso, objetos do tipo Carro). Vamos por a mão na massa! Por exemplo: crie dois métodos, getCor() e setCor(String novaCor).

	public String getCor() {
		return this.cor;
	}
	
	public void setCor(String novaCor) {
		this.cor = novaCor;
	}

Ou seja, sempre que quiseres alterar a cor de um carro, farás o seguinte:

carro1.setCor("Amarelo Queimado");

… e se quiseres obter a cor de um carro:

carro1.getCor();

Concluindo: estes métodos são de extrema importância e serão responsáveis pela comunicação entre objetos do teu sistema.

Sugiro que acrescente estes dois métodos na tua classe Carro, implemente os getters/setters dos outros atributos e poste aqui o código como ficou. Vamos incrementando juntos e aos poucos! :smiley:

[quote=lucasn000]kinaouro,

parabéns pela iniciativa. Não deixe de ler e praticar MUITO. Os colegas citaram boas fontes acima. Acrescento também o livro “Java - Como Programar Edição 8”. Vale muito a pena!

Sobre o teu código: o principal (e pra começar) é incluir métodos getters e setters. Sabe do que se trata? São métodos de acesso aos atributos do teu objeto (no caso, objetos do tipo Carro). Vamos por a mão na massa! Por exemplo: crie dois métodos, getCor() e setCor(String novaCor).

	public String getCor() {
		return this.cor;
	}
	
	public void setCor(String novaCor) {
		this.cor = novaCor;
	}

Ou seja, sempre que quiseres alterar a cor de um carro, farás o seguinte:

carro1.setCor("Amarelo Queimado");

… e se quiseres obter a cor de um carro:

carro1.getCor();

Concluindo: estes métodos são de extrema importância e serão responsáveis pela comunicação entre objetos do teu sistema.

Sugiro que acrescente estes dois métodos na tua classe Carro, implemente os getters/setters dos outros atributos e poste aqui o código como ficou. Vamos incrementando juntos e aos poucos! :smiley: [/quote]

só complementando o que o lucasn000 disse, de nada adianta vc criar seus métodos getter e setters
se vc não criar seus atributos como privados, somente assim terá utilidade criar os métodos
getter e setters, que é a proteção dos dados contidos nos atributos, que somente serão acessados
diretamente pela própria classe que possui eles, sendo que não haverá acesso externo diretamente
apenas pelos métodos criados. Isso é um dos princípios do encapsulamento.

Ex: private String carro;

[quote=gusthavosouza]Cara ja joguei mt esse jogo, por uns 2 anos, e te falo criei meu server , fiz mts ediçoes mas digo pra vc achu mais facil vc editar o que vc quer que seus npcs seus mapas fazem na propria linguagem do jogo do que em java, pois tudo que se precisa editar la ja tem pronto ou e so ler algum tutorial .
abçs qqr coisa so pergunta.

Voce podia colocar alguns atributos como
int ano;
double velocidadeMax;
mts outras infinidades de atributos, podia usa alguns metodos get, set para alterar o carro a cor algo do tipo,
podia cria um array como varios modelos de carros, e so seria ruim saber as posiçoes que chamar do array,
tem mts coisa basicas legais de fazer q e o que faço em casa pra treina a sintaxe, e treina os conceitos .
[/quote]

Sim mais as releases tem muito crash e bugs,e eu não sei nada de C/C++ que é
a linguagem usada nas sources.
E vlw galera vou dar mais uma estudada aqui e em breve posto mais resultados.

Exato, Ruteski. Muito bom! Eu iria comentar sobre os atributos em um segundo momento. Já que tu levantou a questão, vamos propor um desafio ao kinaouro.

kinaouro,

Faça estas correções que comentamos:

  • Adição dos métodos getters/setters;
  • Adição de privacidade nos atributos da classe (private nos atributos);
  • Melhorar identação do código.

Assim que terminar, coloque aqui. Vamos te ajudando a incrementar aos poucos! :wink:

isso mesmo kinaouro, faz todas as modificações propostas aqui e posta e vamos ajudando e aumentando o nível de dificuldade e complexidade do
sistema e programação, assim iremos gradativamente aumentando o nível do conhecimento passado a vc, isso se o lucasn000 estiver de acordo e vc tb.

[quote=Ruteski]isso mesmo kinaouro, faz todas as modificações propostas aqui e posta e vamos ajudando e aumentando o nível de dificuldade e complexidade do
sistema e programação, assim iremos gradativamente aumentando o nível do conhecimento passado a vc, isso se o lucasn000 estiver de acordo e vc tb.[/quote]

De (muito) acordo. Boa sorte, kinaouro! :stuck_out_tongue:

[quote=lucasn000][quote=Ruteski]isso mesmo kinaouro, faz todas as modificações propostas aqui e posta e vamos ajudando e aumentando o nível de dificuldade e complexidade do
sistema e programação, assim iremos gradativamente aumentando o nível do conhecimento passado a vc, isso se o lucasn000 estiver de acordo e vc tb.[/quote]

De (muito) acordo. Boa sorte, kinaouro! :stuck_out_tongue: [/quote]

challenge accepted.
Vê se fico certo agora,tentei fazer como vocês falaram.
Desculpa pela demora mais eu estava no curso.
E uma duvida sempre tem que usar get e set?
Acabei de ver isso no blog do caelum
“Como não aprender Java e Orientação a Objetos: getters e setters”

Outra duvida,como faço para colocar um atributo de velocidade
no código,eu não intendi muito bem na apostila.

  • Adição dos métodos getters/setters; [ok]
  • Adição de privacidade nos atributos da classe (private nos atributos); [ok]
  • Melhorar identação do código. [ok]

Sobre o artigo da Caelum:
Concordo. Não agrega valor implementar métodos que não serão utilizados. O exemplo que ele utilizou é muito bom: uma conta bancária não precisa de um método setSaldo. O saldo é modificado via métodos deposita() e saca(). Entende? Porém, essas peculiaridades vamos deixando pra mais adiante… ok? (De qualquer maneira, é boa prática já ir cuidando sobre a real utilidado dos métodos… vá cuidando!). Conclusão: getters/setters são de extrema importância, porém só devem ser implementados se forem realmente necessários.

Gostei das tuas alterações, apenas uma observação para as linhas 17 e 34 da classe “Carro”: trocar nome dos métodos para “getModelo” e “setModelo”, respectivamente.

A segunda parte do desafio é:

  • Adicionar um método “toString()” na classe “Carro”. Sabe do que se trata?
  • O atributo “dono” da classe “Carro” não deve ser mais do tipo String. Deve ser do tipo “Pessoa”;
  • Implementar a classe “Pessoa”, com seus atributos privados (por enquanto nome [String], idade [int] e sexo[char: M/F]), getters/setters e método toString();

Agora deu um engrossada no caldo! Hehe :stuck_out_tongue: