Dúvida de iniciante (tipos)  XML
Índice dos Fóruns » Ruby & Ruby on Rails
Autor Mensagem
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

celso.martins
Virtual Machine Man
[Avatar]

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
[Email] [WWW]
Java Vinicius Machine
JavaEvangelist
[Avatar]

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
    cv
    Moderador
    [Avatar]

    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.
    [Email] [WWW] [Yahoo!] [MSN] [ICQ]
    celso.martins
    Virtual Machine Man
    [Avatar]

    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
    [Email] [WWW]
     
    Índice dos Fóruns » Ruby & Ruby on Rails
    Ir para:   
    Powered by JForum 2.1.8 © JForum Team