Primeiramente Boa noite;
Bem, estou iniciando meu aprendizado da linguagem JAVA. sou estudante do curso de ADS (Analise e desenvolvimento de Sistemas) mas ainda não estou pagando cadeira de JAVA então resolvi me adiantar e começar por conta própria. encontrei alguns sites e apostilas e assim iniciei.
já estou realizando alguns exercicios de fixação e gostaria da opinião de pessoas que já tem vivencia com a liguagem 
o anunciado do exercicio é:
Classe: Porta
Atributos: aberta, cor, dimensaoX, dimensaoY, dimensaoZ
Métodos: void abre()
void fecha()
void pinta(String s)
boolean estaAberta()
Crie uma porta, abra e feche a mesma, pinte-a de diversas cores, altere suas dimensões e use o método estaAberta para verificar se ela está aberta.
e eu resolvi ele desta maneira:
public class Porta {
String cor;
boolean aberta;
double dimensaoX, dimensaoY, dimensaoZ;
void pintar(String cor){
String corDaPorta = this.cor=cor;
System.out.println("A Cor da Porta é: "+corDaPorta);
}
void abre(){
if (this.aberta==false){
this.aberta=true;
}
}
void fecha(){
if (this.aberta==true){
this.aberta=false;
}
}
void estaAberta(){
if(this.aberta==true){
System.out.println("A Porta Está Aberta");
}else{
System.out.println("A Porta está Fechada");
}
}
public static void main (String args[]){
Porta porta = new Porta();
porta.pintar(“Azul”);
porta.dimensaoX=1.50;
porta.dimensaoY=0.50;
porta.dimensaoZ=0.50;
porta.abre();
porta.estaAberta();
porta.fecha();
porta.estaAberta();
System.out.println("A cor da Porta é: "+ porta.cor);
System.out.println("As Dimensoes da Porta são :"+"\n"+"X: "+ porta.dimensaoX +"\n"+"Y: "+ porta.dimensaoY +"\n"+"Z: "+ porta.dimensaoZ);
}
}
então? está correto? oque posso melhorar? levem em conta que é meu primeiro exercicio!
cara está muito bom, correto. Agora nesta parte:
void pintar(String cor){
this.cor=cor;
System.out.println("A Cor da Porta é: "+ this.cor);
}
pode ficar testa forma, não é necessário criar outra String.
agora aqui vai uma ideia minha de como melhorar e ficar mais “profissional”
public class Porta{
// coloco os atributos como private, ou seja, eles só podem ser usados nesta classe
private String cor;
private boolean aberta;
private double dimensaoX, dimensaoY, dimensaoZ;
// agora aqui vai os métodos, coloquei como publico para dizer que são invocados em outras classes
public void pintar(String cor){
this.cor = cor;
System.out.println("A Cor da Porta é: "+ this.cor);
}
public void abre(){
if (this.aberta==false){
this.aberta=true;
}
}
public void fecha(){
if (this.aberta==true){
this.aberta=false;
}
}
// neste método pensei em retorna um boolean, mas vou retornar uma String
public String estaAberta(){
if(this.aberta==true){
return "A Porta Está Aberta";
}else{
return "A Porta está Fechada";
}
}
// como coloquei cor privado ele nao vai ser acessado diretamente por outra classe, então irei criar um método que retorn a cor
public String qualCor(){
return this.cor;
}
// a mesma coisa para dimensões
public void dimensaoX(String dimensaoX){
this.dimensaoX = dimensaoX;
}
public void dimensaoY(String dimensaoY){
this.dimensaoY = dimensaoY;
}
public void dimensaoZ(String dimensaoZ){
this.dimensaoZ = dimensaoZ;
}
// retorno as dimensões
public String qualDimensaoX(){
return this.dimensaoX;
}
public String qualDimensaoY(){
return this.dimensaoY;
}
public String qualDimensaoZ(){
return this.dimensaoZ;
}
}
//agora vamos para o Main
public static void main (String args[]){
Porta porta = new Porta();
porta.pintar("Azul");
porta.dimensaoX(1.50);
porta.dimensaoY(0.50);
porta.dimensaoZ(0.50);
porta.abre();
System.out.println(porta.estaAberta());
porta.fecha();
System.out.println(porta.estaAberta());
System.out.println("A cor da Porta é: "+ porta.qualCor());
System.out.println("As Dimensoes da Porta são :"+"\n"+"X: "+ porta.qualDimensaoX() +"\n"+"Y: "+ porta.qualDimensaoY() +"\n"+"Z: "+ porta.qualDimensaoZ());
}
bom poderia ficar melhor e utilizar termos mais técnicos como set e get, mas de acordo com a qestão vc tá certo, vc so errou uma parte na questão lá fala boolean estaAberta(), ou seja vc tem q retornar um boolean e nao o método ser void
boolean estaAberta(){
return this.aberta;
}
2 curtidas
Cara gostei muito da sua resposta, já vou testar algumas coisas que aprendi nela em outros exercicios. muito obrigado mesmo!
1 curtida
De nada qualquer coisa ai é só precisar tinha mais coisas q poderíamos implementar, mas como vc ta no inicio tenho certeza q na frente vc vai aprender, boa sorte 
2 curtidas
obs para quem está vendo hoje em dia, eu errei, o método tem q receber um double e não String