Comunidad Gambas-es

Versión completa: Heredar String
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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.
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.
(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.
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.
Bravo, tincho !  Shy
(12-04-2021, 20:07)vuott escribió: [ -> ]Bravo, tincho !  Shy

Gracias Vuott.