| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/09/2008 18:59:30
|
PedroAffonso
What is classpath?
Membro desde: 10/08/2008 19:20:26
Mensagens: 5
Offline
|
Oi... estou no começo (mesmo) do aprendizado, estou saindo do Java, conheço C, Php, Pascal, enfim, não sei ruby, comecei a escrever uma classe tipo java no ruby para fazer uma lista ligada(só pra treinar)
Daí eu fiquei com umas dúvidas em relação a semelhanças com as linguagens que eu ja mexi.
Tem como eu garantir o tipo de uma variável da minha classe? Para o usuário não poder colocar qualquer coisa nela?
Tem como eu "conferir" no método o tipo do parâmetro que ele recebe?
Tem como fazer sobrecarga?(ou coisa semelhante?)
Accessor funciona como se fosse um "public"?
edit:
Mais uma coisa, como eu comparo instâncias e como eu comparo valores? por exemplo, se eu escrevo
x = "Pedro"
y = "Pedro"
x == y é true ou false? o mesmo vale para qualquer tipo ou classe?
me ajudem por favor porque eu não sei nada mesmo, obrigado desde ja
This message was edited 1 time. Last update was at 20/09/2008 19:14:06
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/09/2008 19:04:57
|
celso.martins
Virtual Machine Man
![[Avatar]](/images/avatar/3ff4cea152080fd7d692a8286a587a67.jpg)
Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline
|
Acho que o Java seja fortemente tipado. Diferentemente do Basic e do javascript (não confundir alhos com bugalhos), por exemplo.
Você não só pode como deve fazer sobrecarga. Por exemplo, um atributo int da sua classe pode ter um método setAtributo(String atributo) para que a conversão de tipo seja resolvida na própria classe.
Isso é especialmente necessário quando se está programando WEB e todo request.getParameter devolve uma String.
Abraços
|
Hoje melhor que ontem e pior que amanhã.
Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/09/2008 20:28:36
|
Java Vinicius Machine
JavaEvangelist
![[Avatar]](/images/avatar/22f2729737ae3dc9702e4cee0eb3e900.png)
Membro desde: 03/12/2004 12:56:35
Mensagens: 484
Offline
|
De maneira simples:
o método equals? é empregado para avaliar se duas variáveis estão referenciando o mesmo objeto.
o operador == é usado para realizar comparações de equivalência lógica.
Ou seja, em Ruby é o contrário do que programadores Java estão habituados, == para equivalência e equals para verificar se duas referencias apontam para o mesmo objeto.
ps: também é possível usar o método eql? que é um "sinônimo" de equals?
Abraços.
This message was edited 1 time. Last update was at 20/09/2008 20:30:45
|
Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Fowler)
Sun Certified Programmer for the Java Platform 1.4
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/10/2008 20:54:24
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
PedroAffonso wrote:Tem como eu garantir o tipo de uma variável da minha classe? Para o usuário não poder colocar qualquer coisa nela?
Tem, mas vc nao vai querer fazer isso, pq vai contra o espirito da linguagem. De uma lida sobre duck typing.
PedroAffonso wrote:Tem como eu "conferir" no método o tipo do parâmetro que ele recebe?
Yup, use .class ou outro mecanismo mais especifico (respond_to? etc).
PedroAffonso wrote:Tem como fazer sobrecarga?(ou coisa semelhante?)
Nao, so overrides.
PedroAffonso wrote:Accessor funciona como se fosse um "public"?
attr_accessor, attr_reader e attr_writer criam metodos nas instancias da sua classe que agem como getters e setters.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 13/10/2008 23:46:44
|
celso.martins
Virtual Machine Man
![[Avatar]](/images/avatar/3ff4cea152080fd7d692a8286a587a67.jpg)
Membro desde: 19/06/2006 13:54:23
Mensagens: 699
Localização: Rio de Janeiro
Offline
|
PedroAffonso wrote:Tem como fazer sobrecarga?(ou coisa semelhante?)
cv wrote:Nao, so overrides.
APAGADO: Agora que eu vi o "SAINDO DO JAVA" e o fórum. Sry
This message was edited 2 times. Last update was at 14/10/2008 00:41:48
|
Hoje melhor que ontem e pior que amanhã.
Desenvolvimento Psicopata - Qualidade Total
Twitter
Infoblogs - A vitrine do seu blog |
|
|
 |
|
|