Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 2
Ir a la página Anterior  1, 2
 
¿ Parámetro Opcional Es Igual A Por Defecto ? [No Solucionado]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Parámetro Opcional Es Igual A Por Defecto ? [No Solucionado] 
 
Julio:

Me temo que con el tema de las clases se me complica y no me da el mismo resultado que con solo una función:
Recordando el código:

Figura2D:
Código: [Descargar] [Ocultar] [Seleccionar]
Private hancho As Integer
Private halto As Integer

Property ancho As Integer
Property alto As Integer


Public Sub _new(Optional an As Integer = 10, Optional alt As Integer = 10)
    
  Me.ancho = an
  Me.alto = alt
  
End

Private Function ancho_Read() As Integer

Return hancho  

End

Private Sub ancho_Write(Value As Integer)

  hancho = Value

End

Private Function alto_Read() As Integer

  Return halto

End

Private Sub alto_Write(Value As Integer)

  halto = Value

End
 


Figura3D:
Código: [Descargar] [Ocultar] [Seleccionar]
Inherits Figura2D

Private hlargo As Integer
Property largo As Integer

Public Sub _new(Optional prf As Integer = 10)
  
  Me.largo = prf
  
End

Private Function largo_Read() As Integer

Return hlargo

End

Private Sub largo_Write(Value As Integer)

  hlargo = Value

End
 


Main:
Código: [Descargar] [Ocultar] [Seleccionar]
Public Sub Main()

Dim cubo As Figura3D

cubo = New Figura3D(,, 50)

Print Subst("Ancho del cubo: &1", cubo.ancho)
Print Subst("Alto del cubo: &1 ", cubo.alto)
Print Subst("Largo del cubo: &1", cubo.largo)
 

End
 


Error:

 error_1500727558_624721

¿ Se le trabó tanta función por medio ?  
Y eso que son opcionales.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Parámetro Opcional Es Igual A Por Defecto ? [No Solucionado] 
 
Si yo hiciera esto:

Código: [Descargar] [Ocultar] [Seleccionar]
Public Sub Main()

Dim cubo As Figura3D

cubo = New Figura3D
cubo.largo = 50

Print Subst("Ancho del cubo: &1", cubo.ancho)
Print Subst("Alto del cubo: &1 ", cubo.alto)
Print Subst("Largo del cubo: &1", cubo.largo)
 

End
 


Citar:

Ancho del cubo: 10
Alto del cubo: 10
Largo del cubo: 50


Podría colar. Pero no sé si es lo correcto por ahora. Creo que no,
debería ser en el paso de argumentos al constructor. Es como si se le hubiese
asignado dos valores al mismo parámetro. Perdón, argumento.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Sabado, 22 Julio 2017, 13:59; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Parámetro Opcional Es Igual A Por Defecto ? [No Solucionado] 
 
Shell:

El problema es el constructor _new()

En Figura2D lo tienes definido como:

Código: [Descargar] [Ocultar] [Seleccionar]
Public Sub _new(Optional an As Integer = 10, Optional alt As Integer = 10)


Pero en la clase Figura3D que es heredada de Figura2D, cambias la forma de definir el constructor:

Código: [Descargar] [Ocultar] [Seleccionar]
Public Sub _new(Optional prf As Integer = 10)


Si quieres usar distintos parámetros para los constructores, tienes que poner "..." como parámetro, como diciéndole a la clase que se vas a crear:
Citar:
"picha... no se cuantos parámetros te van a poner, pero tú lo coges todos, y lo gestionas según el código ha puesto el señor programador gambero que él sabrá lo que hace..."


Mirate esto, hay un buen ejemplo de como usarlo:
http://cursogambas.blogspot.com.es/...-numero-de.html
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: ¿ Parámetro Opcional Es Igual A Por Defecto ? [No Solucionado] 
 
por que cuando llamas a la clase 3d le pones 3 paramtros cuando en tu constructor tienes 1?

main
Código: [Descargar] [Ocultar] [Seleccionar]
cubo = New Figura3D(,, 50)


3d
Código: [Descargar] [Ocultar] [Seleccionar]
Inherits Figura2D

Private hlargo As Integer
Property largo As Integer

Public Sub _new(Optional prf As Integer = 10) ''<-----------
  
  Me.largo = prf
  
End
 



estoy investigando aun esto pero no le falta un me.super() o algo que llame despues al constructor padre?
 




===================
------
Telegram : @sepulvedamarcos
 
última edición por chaskux el Domingo, 23 Julio 2017, 03:58; editado 2 veces 
chaskux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Abrir Una Página Web Con El Navegador Por... netking86 General 9 Lunes, 15 Febrero 2010, 19:43 Ver último mensaje
jguardon
No hay nuevos mensajes ¿ Es Posible Pasar Una Función Como ParÃ... Shell General 13 Domingo, 27 Marzo 2016, 19:38 Ver último mensaje
Shell
No hay nuevos mensajes Pasar Un Parámetro Concreto De Varios A U... Shell General 6 Martes, 03 Enero 2017, 22:34 Ver último mensaje
Shell
No hay nuevos mensajes Dos Clases Que Se Llaman Igual tincho Controles/Librerías/Componentes 4 Sabado, 09 May 2020, 16:05 Ver último mensaje
tincho
 

Publicar nuevo tema  Responder al tema  Página 2 de 2
Ir a la página Anterior  1, 2

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron