Olá pessoal, fiz um exercício pra faculdade, e funcionou da forma que queria, mas queria saber se é errado, ou se é uma prática ruim usar o Main só pra chamar os métodos ou criar os objetos??
Meu código está abaixo:
TesteProfessor.java método main
public class TesteProfessor {
public static void main(String[] args) {
Professor Professor1 = new Professor();
Professor1.Imprime();
}
}
import javax.swing.JOptionPane;
public class Professor{
//Atributos
String nome, departamento;
int admissao, registro;
Data Data1;
//Data Data1 = new Data();
Professor(){
nome = JOptionPane.showInputDialog (null,"Entre com o nome do professor: ");
departamento = JOptionPane.showInputDialog (null,"Entre com o departamento do professor: ");
/*
String texto = JOptionPane.showInputDialog (null,"Entre com a data de admissão do professor: ");
admissao= Integer.parseInt(texto);
*/
//Data Data1 = new Data();
Data1 = new Data();
String texto = JOptionPane.showInputDialog (null,"Entre com o registro do professor: ");
registro= Integer.parseInt(texto);
}
public void Imprime(){
JOptionPane.showMessageDialog(null,"<html><body>Nome: " + nome + "<html><body><br>Departamento: "+ departamento + "<html><body><br>Registro: "+ registro);
this.Data1.Imprime();
}
}
[code]]
import javax.swing.JOptionPane;
public class Data {
int dia, mes, ano;
Data(){
String texto = JOptionPane.showInputDialog (null,"Entre com o DIA de admissão do professor: ");
dia= Integer.parseInt(texto);
texto = JOptionPane.showInputDialog (null,"Entre com o MÊS de admissão do professor: ");
mes= Integer.parseInt(texto);
texto = JOptionPane.showInputDialog (null,"Entre com o ANO de admissão do professor: ");
ano= Integer.parseInt(texto);
}
public void Imprime(){
JOptionPane.showMessageDialog(null,"<html><body>Data de admissão: " + dia+"/"+ mes + "/"+ano);
}
Na hora de modelar sua classe você precisa ter em mente que:
1 - Cada classe do seu sistema precisa fazer apenas aquilo que é de sua responsabilidade. Um bean representa apenas um modelo de objeto, não é de sua responsabilidade receber valores via métodos de entrada(JOptionPane, Scanner etc). Alguma classe será responsável por isso, mas não o bean. Existem diversos outros fatores que influenciam na hora de determinar as responsabilidades de cada classe. Aconselho você a ler algum livro sobre orientação a objetos. Tem esse link aqui que é bem básico, mas começa a esclarecer algumas coisas: http://download.oracle.com/javase/tutorial/java/concepts/object.html
minha classe {
String nomeProfessor;
String departamento;
Date dataAdmissao;
etc
public static void main (args[] String) {
nomeProfessor = JOptionPane.showInputDialog (null,"Entre com o nome do professor: ");
departamento = JOptionPane.showInputDialog (null,"Entre com o departamento do professor: ");
JOptionPane.showMessageDialog(null,"<html><body>Nome: " + nome + "<html><body><br>Departamento: "+ departamento + "<html><body><br>Registro: "+ registro);
}
etc, etc, etc
hahahahaha
Foi só uma brincadeira mesmo… no começo aposto que todo mundo faz algo parecido.
Eu já fiquei em dúvida se deveria fazer desse jeito tbm
(tá, admito, já fiz desse jeito)
Mas então, continuando, cria uma outra classe, sei lá e cria um método rodaAplicacao()… iniciaAplicacao(), algo assim e no main só chama ele, também não gosto muito do main e quando voce começar a criar as telas vai usar o main só pra chamar a primeira tela também…
[quote=francislon]Programar Orientado a Objetos não é algo fácil. Demora um tempo para você absorver os conceitos. Até lá fazemos muita, mas muita merda
São coisas do aprendizado. no futuro vamos olhar para nosso código de 5 anos atrás e vamos rir pra caramba hehehe
Isso sempre acontece comigo pelo menos :P[/quote]
eu to rindo dos codigos que eu fiz ontem as 5:50 da tarde
cada dia é um aprendizado novo e o paradigma de OO demora um pouco para ficar madura na nossa cabeça