Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

[SOLUCIONADO]  Heredar String
#1
Question 

Hola a todos.

Suponiendo la clase String2 que extiende String tenemos que para heredar la clase String basta con poner en la clase "nueva" la instrucción Inherits String.
Pero luego al crear una variable String2 con la nueva clase es necesario poner el modificador "As New" en vez de solo "As".
Alguna idea de como hacer que las variables de la clase String2 no tengan que definirse como "As New" ??
Saludos.
    ¡Gracias!
#2

Hola.

No se si es lo que buscas, pero si en el inicio de la clase String2 la declaras estática con:
Código:
 
Creatic Static  

eso significa que puedes llamar a la clase directamente con la anotación punto sin tener que declarar una variable, string2.loquesea

Un saludo.
    ¡Gracias!
#3

(08-04-2021, 22:29)guizans escribió:  sin tener que declarar una variable

En efecto, al usar la palabra-llave "New", nosotros creamos un "instancia", un "Objeto" de la Clase. Así podemos crear varios Objetos de esa Clase, que gestionamos en forma de variables.
Al hacer estática la Clase con "Static", la reducimos a una especie de Módulo que hace imposible la creación de Objetos individuales (las variables) de esa Clase.

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#4
Thumbs Up 

Gracias a ambos.
Finalmente resolví el asunto de la siguiente manera:
Lo que intento hacer es agregar algunas funciones a la clase nativa String de gambas, que según me explico Benoîte es algo diferente a las otras clases de gambas.
No deseo usar String2 como nombre sino String y eso no era compatible con el uso de Inherits String porque salta el error de que la clase no puede heredarse a si misma.
Luego el uso de Create Static tampoco funcionaba.
Solucion: Crear una clase dentro del proyecto llamada String y dentro de ella:
GAMBAS
  1. Static Public Function UnaFuncionPersonalizada(s As String) As String
  2.   'Algo que hace la funcion


Esta forma agrega la función UnaFuncionPersonalizada a la clase nativa String.
Saludos.
[-] Los siguientes 1 usuarios dice gracias a tincho por este post:
  • vuott
    ¡Gracias!
#5

Bravo, tincho !  Shy

"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)

"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
    ¡Gracias!
#6

(12-04-2021, 20:07)vuott escribió:  Bravo, tincho !  Shy

Gracias Vuott.
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)