Override metodo equals

Discussão em 'Progress 4GL' iniciado por ecsousa, Janeiro 30, 2014.

  1. ecsousa

    ecsousa Membro Participativo

    Bom dia,

    Eu criei uma classe em Progress e gostaria de sobreescrever o operador igual. Alguem sabe se é possível e como fazer?

    Do jeito que defini abaixo, ele só funciona se eu o acesso como um metodo: meuobjeto:Equals(outroObj)....e na verdade eu gostaria de usa-lo assim: meuobjeto Eq outroObj... ou meuobjeto = outroObj...

    Method Override Public LogicalEquals ( INPUT other-obj AS Progress.Lang.Object) :

    MESSAGE "Meu Equals"
    VIEW-AS ALERT-BOX INFO BUTTONS OK.

    Return true.
    End Method.

    Espero que alguém possa me ajudar ;)
    Obrigada
  2. pedro_lemes

    pedro_lemes Membro Participativo

    Ola, ecsousa!

    Os operadores lógicos de uma linguagem (todas, até onde sei) não podem ser substituídos. É uma lista FIXA. A unica possibilidade, é como vc fez: criar um método em sua classe ou então, utilizar os operadores lógicos existentes.

    Abs!
  3. ecsousa

    ecsousa Membro Participativo

    Obrigada...... que pena :/ estava ficando feliz com o progress rs...

    Não conheço outras.....mas em C++ eu consigo sobreescrever os operadores =)
    pedro_lemes curtiu isso.
  4. jaisonantoniazzi

    jaisonantoniazzi Membro Ativo

    Olá @ecsousa
    acredito que o OO do Progress ABL não permita override de operador. Pelo menos desconheço e também não encontrei referência no doc Object-oriented Programming.
    Abraço.
    pedro_lemes curtiu isso.

Compartilhe esta Página