https://foro.gambas-es.org/viewtopic.php?f=5&t=8036
-----------------------------------
tincho
Friday, 08 May 2020, 17:23

Inherits String Pero Cambiando Nombres De Funciones.
-----------------------------------
Hola a todos.
¿Alguien sabe como hacer para heredar una clase y renombrar uno o mas métodos de esta?
Por ejemplo si heredamos la clase [b]String[/b] y viene el método [b]Upper[/b] ¿Como hacer para cambiar Upper por Mayusculas por ejemplo?
Saludos.


-----------------------------------
jsbsan
Saturday, 09 May 2020, 09:17

Re: Inherits String Pero Cambiando Nombres De Funciones.
-----------------------------------
Tincho:
 :idea:  Puedes crear un nuevo método que internamente use Upper, pero que se llame Mayusculas. Realmente no estas cambiando el nombre del método sino añades otro método con distinto nombre pero que hace los mismo.


Si te fijas, en muchas clases de gambas, hay metodos que hacen lo mismo pero se llaman distinto..

Ejemplo: Clase HeredadaString
[code linenumbers=false syntax=gambas]' Gambas class file

Inherits String

Public Sub mayusculas(text As String) As String

    Return Me.Upper(text)

End[/code]


Fichero Main:
[code linenumbers=false syntax=gambas]
Public Sub Main()

    Dim HeredadaStringTMP As New HeredadaString

    Print "Hello world"

    Print HeredadaStringTMP.Upper("Hola Tincho") & "\n"
    Print HeredadaStringTMP.mayusculas("Hola Tincho")

End[/code]


-----------------------------------
tincho
Saturday, 09 May 2020, 12:25

Re: Inherits String Pero Cambiando Nombres De Funciones.
-----------------------------------
[quote user="jsbsan" post="48412"]Tincho:
 :idea:  Puedes crear un nuevo método que internamente use Upper, pero que se llame Mayusculas. Realmente no estas cambiando el nombre del método sino añades otro método con distinto nombre pero que hace los mismo.[/quote]
Perfecto me sirve esta solución. Gracias.
Saludos.


