| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2010 17:59:51
|
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
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2010 19:15:21
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2010 19:42:09
|
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/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/10/2010 20:22:06
|
aajjbb
JavaEvangelist
![[Avatar]](/images/avatar/89ee6a1ac7321983ebe07a70a3a1abbb.jpg)
Membro desde: 23/02/2010 15:58:10
Mensagens: 303
Offline
|
Aula de OO. vlw
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2010 02:48:32
|
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/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/10/2010 13:39:25
|
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.
|
|
|
 |
|
|