Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Modulo De Clase Y Modulo Estandar
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Modulo De Clase Y Modulo Estandar 
 
Hola!.

Con este ejemplo podremos ver desde las diferencias de un modulo de clase a un modulo estándar.
Como afecta el uso de propiedades publicas en una clase que pueden ser  manipuladas desde otra parte
de nuestra aplicación.

Tenemos:
- Un modulo principal o formulario
- Un modulo de clase
- Un modulo estándar.

Nuestro formulario:
' gambas class file

Private OPrimero As Clase1
Private OSegundo As Clase1

Public Sub _new()

End

Public Sub Form_Open()
'Creamos dos instancias de la clase1

OPrimero = New Clase1
OSegundo = New Clase1
Modulo1.VisibleEnTodosLosSitios = "Datos de cadena global"

End

Public Sub Button1_Click()

Modulo1.LlamableDesdeCualquierLugar(OPrimero)
OPrimero.MostrarComentario  

End

Public Sub Button2_Click()

OSegundo.MostrarComentario

End
 


Modulo de Clase1:
' gambas class file

'Esto es una propiedad de los objetos de la Clase1
Public comentario As String

'Esto es un método de los objetos de la Clase1

Public Sub MostrarComentario()
  
  Message.Info(comentario & " " & Modulo1.VisibleEnTodosLosSitios)
  
End
 


El modulo estándar:
' gambas module file

Public VisibleEnTodosLosSitios As String

Public Sub LlamableDesdeCualquierLugar(c1 As Clase1)
  ' La línea siguiente modifica una variable global
  ' (propiedad) de una instancia de Clase1. Sólo
  ' afecta al objeto en particular pasado por este
  ' procedimiento.
  
  c1.comentario = "Tocado por una función global."
  
End
 


Código del ejemplo:


Saludos

ModuloClaseModuloEstandar.tar.gz
Descripción:  
Descargar
Nombre del archivo: ModuloClaseModuloEstandar.tar.gz
Tamaño: 6.07 KB
Descargado: 23 veces
ModuloClaseModuloEstandar.tar.gz
Descripción:  
Descargar
Nombre del archivo: ModuloClaseModuloEstandar.tar.gz
Tamaño: 6.07 KB
Descargado: 23 veces
ModuloClaseModuloEstandar.tar.gz
Descripción:  
Descargar
Nombre del archivo: ModuloClaseModuloEstandar.tar.gz
Tamaño: 6.07 KB
Descargado: 23 veces

 




===================
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: Modulo De Clase Y Modulo Estandar 
 
Shell:

'Esto es una propiedad de los objetos de la Clase1
Public comentario As String


No, asi no se define una propiedad, la tienes que definir asi:

Property comentario as string
Private hcomentario as string

Private Sub comentario_write(Valor As String)

  hcomentario = Valor

End

Private Function  comentario_read() As String
  
  Return hcomentario
  
End


Aunque tu forma de definirla, puede funcionar.... para evitar problemas usa mejor esta definicion de propiedad...
No se deben acceder a valores directamente, sino usando las funciones especiales _write y _read.. (realmente cuando programas no se va ha poner comentario_write("hola"), vale con poner comentario="hola")
 




===================
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: Modulo De Clase Y Modulo Estandar 
 
Hola Julio.

Lo se.  Es bueno que lo aclares.  

Esa es la cuestión, que no se debe hacer así.
Como son ejemplos de otro lenguaje, lo he dejado lo mas parecido
a como se declaran las variables en el ejemplo original.

Los libros no explican esas cosas al comenzar.Van poco a poco.

También en parte, cuando comenzamos a ver un poco la POO, no hemos aprendido aun Property.
Y usamos variables publicas o privadas en las propiedades de clase y una serie de funciones o
procedimientos que son los métodos en las clases.

Si declarásemos una variable como private y no publica en una clase, podíamos acceder a esta
variable mediante un método. Cuando vemos Property ya no vemos la necesidad de seguir
haciendo lo mismo que antes.

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: Modulo De Clase Y Modulo Estandar 
 
Shell:

Citar:
cuando comenzamos a ver un poco la POO, no hemos aprendido aun Property

Es de lo  primero que tenemos que aprender (o enseñar)... porque luego los problemas son mayores, y se producen errores que no sabes porque son...

Citar:
Cuando vemos Property ya no vemos la necesidad de seguir haciendo lo mismo que antes.

Yo, cuando lo aprendí,   creí que era opcional, que valían las dos formas, que se podía definir de las dos maneras, porque aparentemente funcionaban bien... y luego vinieron los lios...te lo digo por experiencia (mejor dicho... mala experiencia...    )
 




===================
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: Modulo De Clase Y Modulo Estandar 
 
Julio:

Se muy bien a que problemas te refieres. (Todo es cuestión de practica y ver que hace)

A veces según el libro. Hay un ejercicio en un libraco que tengo por ahí.
Es un ejemplo de una escuela, alumnos, maestros, asignaturas...

Comienza como nosotros hemos aprendido a dar primeros pasos en lo poco que hemos aprendido de POO,
Al principio son publicas, privadas y luego propiedades que es lo mejor.Pero sigue unos pasos.
(Tu ya sabes como aprendemos muchas cosas en gambas)

Tendré que volver al ejemplo de la escuela (mas que una escuela abarca mas).

P.d No se si mi muñeca soportara el peso del libro mucho tiempo..

Y es que estos libros son de mas de 1000 paginas, si lo coges de una forma, te lo puedes llegar a cargar.
La cultura pesa...mas de uno se tiene que haber fastidiado la espalda cargando con libros de la escuela.

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: Modulo De Clase Y Modulo Estandar 
 
Citar:
La cultura pesa...mas de uno se tiene que haber fastidiado la espalda cargando con libros de la escuela.

pues si....


http://elmundo.com.sv/wp-content/uploads/2012/05/Mochila.jpg


mochila
 




===================
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
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes [Modulo] HTMLEntities Juan Luis Lopez Aplicaciones/Fragmentos de Código 2 Viernes, 28 Octobre 2011, 17:30 Ver último mensaje
jguardon
No hay nuevos mensajes Asimilando Recursos De VB.Modulo De Clase Shell General 0 Sabado, 30 Junio 2012, 11:01 Ver último mensaje
Shell
No hay nuevos mensajes Desanclar Un Modulo Y Comentar Líneas Shell General 1 Lunes, 17 Octobre 2016, 14:43 Ver último mensaje
Shell
No hay nuevos mensajes Operador Modulo Shell General 0 Domingo, 28 Abril 2019, 13:02 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

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