Sugestões programa básico OOP  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
Moabson
What is classpath?

Membro desde: 01/10/2010 17:40:51
Mensagens: 8
Offline

Pessoal estou começando a programar em JAVA, então comecei lendo a apostila Caelum Java Objetos FJ11, eu li ate o Capitulo 4 quando decidi fazer um programa Orientado a Objetos que calcula a área do Circulo, Quadrado, Retângulo e Triangulo.
Então eu vou postar o código aqui para vocês avaliarem e darem sugestões sobre a organização do código e tals.

CalculaArea.java


Menu.java


Area.java


This message was edited 1 time. Last update was at 01/10/2010 18:36:50

Rafael Sperendio
Thread.start()

Membro desde: 16/06/2006 16:04:10
Mensagens: 43
Offline

legal, mas para ficar um OO mais "puro" seria ideal você pensar mais em objetos do mundo real, por exemplo:

Círculo, quadrado, retângulo, etc são seus objetos, área não seria um objeto. O melhor seria que você tivesse classes Círculo, Retângulo, Quadrado, etc, e dentro de cada uma você incluir um método que calcule a área destes objetos
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Do jeito que vc fez está muito procedural. Mas o exemplo que vc está fazendo é bom para vermos conceitos.

Primeiramente vc tem que abstrair. Então o que vc quer são figuras que saibam responder sua área. Bom seria então criar uma interface comum:


Agora, basta vc fazer suas figuras:



Então vc escreve uma classe pra printar as áreas:


O pulo do gato de OO está aqui. Agora, se vc kiser printar a area de um circulo, não é necessário rescrever toda a classe. Vc só precisa implementar seu circulo extendendo a Area e adicionar na lista. O código de impressão já está pronto.


Então a grande sacada em OO é se perguntar qual é a abstração e traduzir a mesma em uma interface ou classe abstrata.

Do jeito que vc fez a coisa está procedural demais. Se vc quiser colocar a área de uma nova figura, tem que mexer por todo seu código, coloca mais uma clausula no switch case.

Espero ter clarificado as coisas.

[]s





This message was edited 3 times. Last update was at 01/10/2010 22:58:45


Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
aajjbb
JavaEvangelist
[Avatar]

Membro desde: 23/02/2010 15:58:10
Mensagens: 303
Offline

Aula de OO. vlw

renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1133
Offline

Pois é, abri a Nuccitec, então OO tem que estar na veia...hehe.

Quando vc começa e pensar em termos de interface é quando começa efetivamente a aprender OO.

Eu confesso que demorei um pouco pra pegar o pulo do gato.

[]s

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
Moabson
What is classpath?

Membro desde: 01/10/2010 17:40:51
Mensagens: 8
Offline

renzonuccitelli, consegui entender o seu exemplo. Axo que isso vai ficar mais claro para mim quando eu ler um pouco mais sobre arrays, list, set e maps.

Obrigado a todos que derão sugestões.
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team