[resolvido]POO, é errado usar o main só pra chamar os métodos e criar objetos?
19 respostas
igor972
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??
importjavax.swing.JOptionPane;publicclassProfessor{//AtributosStringnome,departamento;intadmissao,registro;DataData1;//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=newData();Stringtexto=JOptionPane.showInputDialog(null,"Entre com o registro do professor: ");registro=Integer.parseInt(texto);}publicvoidImprime(){JOptionPane.showMessageDialog(null,"<html><body>Nome: "+nome+"<html><body><br>Departamento: "+departamento+"<html><body><br>Registro: "+registro);this.Data1.Imprime();}}
]importjavax.swing.JOptionPane;publicclassData{intdia,mes,ano;Data(){Stringtexto=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);}publicvoidImprime(){JOptionPane.showMessageDialog(null,"<html><body>Data de admissão: "+dia+"/"+mes+"/"+ano);}}
A responsabilidade do professor é únicamente referente aos dados do professor, pegar os dados do usuário deve ficar em outra classe
rafaelviny
na minha humide opinião eu implemento o menos possivel dentro do main…
deixo ele em uma classe separada e se for possivel somente chamo um metodo para inicializar a bagacera toda
hahahahha
motivo:
o main obriga vc a deixar os metodos e variaveis que estão dentro deles como static
francislon
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
igor972
Acho que entendi. Vou ler o livro, ví que a leitura é bem simples!
Obrigado a todos.
Valew mais uma vez rafaelviny
rafaelviny
Disponha
Zeed01
Boa tarde galera !
O nome dessa programação é POG, não POO !
hehehehe
(Desculpem, não resisti)
Falando sério agora, concordo com o que foi dito pelos outros colegas.
[]s
rafaelviny
Zeed01:
Boa tarde galera !
O nome dessa programação é POG, não POO !
hehehehe
(Desculpem, não resisti)
Falando sério agora, concordo com o que foi dito pelos outros colegas.
[]s
bem cruel vc em
hahahahhaa
o foda que eu ri da sua postagem…
mas se vc pensar no passado tenho certeza que vc fez a mesma pergunta que o igor, pelo menos eu fiz e não tenho vergonha de admitir
Foi só uma brincadeira mesmo… no começo aposto que todo mundo faz algo parecido.
POG = Programação Orientada a Gambiarras.
[]s
igor972
Aprender levando tapa na cara é meio sadomasoquista, mas fazer o que né?
Ou Aprendo por amor, ou por terror kkkkk
drigo.angelo
kkkk
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…
Zeed01
Igor…
Em algumas consultorias por ai vc vai ouvir algo como “solução técnica alternativa”.
Mas é tudo a mesma coisa.
hehehehe.
[]s
igor972
Bom, pelo menos de três programadores, três já disseram que fizeram isso.
Então não estou tão fora assim kkkk
valews
rafaelviny
igor972:
Bom, pelo menos de três programadores, três já disseram que fizeram isso.
Então não estou tão fora assim kkkk
valews
[color=red]relembrando que a gente está falando de colocar metodos, variaveis dentro do main e nao das POGs.[/color]
vai que o povo le o topico e acha que somos POGamadores…
sua duvida é muito natural quando estamos iniciando em Java, mas se daqui para frente vc continuar fazendo ai vai ser POG consentida…
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
rafaelviny
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
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
drigo.angelo
Aproveitando o assunto, quando acharem códigos monstros (ou se só quiserem rir um pouco… ) lembrem-se deste topico
rafaelviny
tem coisas la que realmente da medo!!!
julianostr:
Essa é uma lógica sem lógica que encontrei num Forms em produção de uma grande empresa a qual fiz manutenção.
IF A = 1 THEN
B:= 2;
ELSE
B:= 2;
END IF;
[/code]
Em Oracle (SQL) eu já vi essa pérola:
selectnullfromdual;
[/quote]
isso me lembra da epoca de programação Oracle + Oracle Forms.