Fecha y hora actual: Jueves 17 Ene 2019 05:49
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Curso VB .NET - Tema 1.13 - Clases, datos.

Responder al Tema

Índice del Foro > Visual Basic .NET > Curso VB .NET - Tema 1.13 - Clases, datos.

Autor Mensaje
Tesis
Administrador


Registrado: 04 Mar 2007
Mensajes: 3200
Ubicación: Valencia - España

Mensaje Publicado: Lunes 15 Dic 2008 19:47

Título del mensaje: Curso VB .NET - Tema 1.13 - Clases, datos.

Responder citando

Curso de programación - Tema 1.13 - Clases, datos.

1.1 Objetivos del tema.
Vistos los procedimientos y las funciones, así como las estructuras dentro de los mismos, veremos ahora las clases.

A pesar de que sea un tema que se lo podría saltar, pues el sistema de programación con procedimientos y funciones es válido, la realidad es otra, aunque poco a poco, cada día el sistema de clases se va imponiendo más en los programas de las empresas que se dedican al desarrollo de software, no nos referimos a las grandes empresas, si no a las de menos volumen.

Si está usted empezando, le aconsejo que se meta de lleno en ello, a lo mejor le cuesta un poco más, pero no tiene sentido empezar de cero y quedarse con un sistema de programación más o menos obsoleto, o al menos no adquirir de forma clara el concepto de clase.

En este tema vamos a abordar el apartado de datos en las clases.



1.2 Introducción.
En las clases hay que solventar la gestión de los datos que necesita la clase, las acciones que tiene que ser capaz de resolver, y los estímulos exteriores a los que tiene que reaccionar.

La clase podrá o no de disponer de la capacidad de reaccionar ante estímulos externos, eventos, pero siempre datos siempre necesitará y acciones también.

La excepción, es que podemos crear una clase que solo contenga una estructura de información, y no sea ejecutiva, no tenga métodos.

Esos son los tres apartados básicos a nivel de programación, propiedades, métodos y eventos.

Después mejoran las características de un programa por sus características de encapsulamiento, ocultación, polimorfismo y sobre todo de herencia.



Lo más importante es empezar entendiendo bien como desarrollar una clase, y tener claro que de la clase después derivaremos objetos, que serán en realidad donde se demuestre la capacidad de la clase.

Una clase es un elemento independiente del programa que la contiene, por lo tanto hemos de crear una estructura estanca y robusta.

Estanca porque no tiene dependencia de código ajeno, y cuando lo tiene es a través de la herencia de una clase anterior.

Pero no olvidemos que al fin y al cabo, al final, lo que hay es código, y el código son las estructuras de programación ya conocidas, más los datos.



1.3 Datos.
Una clase necesita de datos para su funcionamiento.

Disponemos de dos niveles en su utilización.

    Internos.
    Extermos, propiedades.

Los datos que son simplemente variables para el funcionamiento de la clase y que en ningún caso podrán ser utilizados ni visualizados por el usuario del objeto que de ella se deriva, y los datos que son necesarios que se proporcionen para el uso de la misma.

1.4 Datos internos, variables.
Cuando los datos son nada más que datos internos, esos datos son variables y ahí queda el tema.

Código:
Clase Ejemplo
Crear X Entera = 0
Crear Y Entera = 0
Crear Z Entera = 0
...


Esos datos internos, puede ser que necesiten un valor inicial cuando se crea un objeto de la clase, en ese caso esas variables pueden ser cargadas en el momento de declarar una nueva instancia de la clase.

Con una u otra sintaxis, los lenguajes de programación disponen de una instrucción mediante la cual se crea una instancia de una clase, se crea un objeto, en esa instrucción se puede reclamar desde la clase que se indique el valor de determinados parámetros.

Código:
Clase Ejemplo
 Crear X Entera
 Crear Y Entera
 Crear Z Entera
 Metodo Nuevo(Inicio como entera, Final Como entera)
  Si Inicio < Final Entonces
   X = Inicio
   Y = Final
  Si no
   X = 0
   Y = 0
  Fin condicion
 Fin Metodo
Fin Clase

Inicio de Programa
 Crear Objeto como Ejemplo
 Objeto = Nueva instancia de Ejemplo(1,20)
Fin de Programa


Cuando ejecutamos …
Código:
Objeto = Nueva instancia de Ejemplo(1,20)

Lo que se está haciendo es crear una instancia de la clase y enviarle los datos que se piden en la creación de la misma, en este caso 1 para el valor de Inicio y 20 para el valor Final.

Pero también se puede crear el objeto sin valores iniciales y después en el momento de utilizar el método solicitar los valores necesarios para el uso de ese método.

Código:
Metodo Nuevo()
Fin Metodo


Podemos observar como el método Nuevo, carece de código, e incluso, si el lenguaje de programación no lo exige, podría no existir.

Código:
Clase Ejemplo
 Crear X Entera = 0
 Crear Y Entera = 0
 Crear Z Entera = 0
 Metodo Cuenta(Inicio como entera, Final Como entera)
  Si Inicio < Final Entonces
   X = Inicio
   Mientras X <> Final
    ...
    ...
    X = X + 1
   Fin Mientras
  Fin condicion
 Fin Metodo
Fin Clase


Con la versión que observamos en la versión del método Cuenta, lo que se hace es pedir los valores de Inicio y Final en el momento de su ejecución.

Código:
Metodo Cuenta(Inicio como entera, Final Como entera)


En el uso del método, se observa como se cargan dichos valores en su utilización.

Código:
Objeto.Cuenta(1,20)


Y el programa quedaría como sigue.

Código:
Inicio de Programa
 Crear Objeto como Ejemplo
 Objeto = Nueva instancia de Ejemplo
 Objeto.Cuenta(1,20)
Fin de Programa


Recalcar que en el ejemplo anterior, los datos son internos en la clase y que tanto X, Y, Z no son visibles desde el exterior de la clase.

1.5 Datos externos, propiedades.
Sin embargo cuando los datos son visibles desde el exterior de la clase, esos datos se convierten en propiedades, que a su vez podrán o no ser modificadas por el usuario de la misma.

Estas variables pueden denominarse Públicas, Public, directamente, o bien Propiedad, Property, dependerá del lenguaje de programación en cuestión.

Siguiendo con el ejemplo anterior, la clase podría tener este aspecto.

Código:
Clase Ejemplo
  Crear X Entera
  Crear Y Entera
  Crear Z Entera
 
  Propiedad Inicio Entera
    Lectura
    Y = Inicio
    Escritura
    Inicio = Y
  Fin Propiedad
 
  Propiedad Final
    Lectura
    Z = Final
    Escritura
    Final = Z
  Fin Propiedad

  Metodo Cuenta
    X = Y
    Mientras X <> Z
      ...
      ...
      X = X + 1
    Fin Mientras
  Fin Metodo
Fin Clase

Inicio de Programa
  Crear Objeto como Ejemplo
  Objeto = Nuevo instancia de Ejemplo
  Objeto.Inicio = 1
  Objeto.Final = 20
  Objeto.Cuenta
Fin de Programa




Esto podría ser una clase, en ella “X” es una variable interna, en ningún caso se puede ver desde el exterior, mientras que “Y” y “Z” son dos variables que son en realidad una propiedad, puesto que sus valores son visibles desde el exterior, pero se ven a través del nombre que las representa que es “Inicio” y “Final”.

Código:
Propiedad Inicio Entera
Propiedad Final Entera


Para posteriormente en el programa, después de crear una instancia de la clase Ejemplo utilizar las propiedades.

Código:
Inicio Programa
  Crear Objeto como Ejemplo
  Objeto = Nueva instancia de Ejemplo
  Objeto.Inicio = 10
  Objeto.Final = 20
  Objeto.Cuenta
Fin programa


Pero también podrían haberse declarado

Código:
Publica Crear Y Entera
Publica Crear Z Entera


Y en ese caso podrían utilizarse desde el objeto que se cree con la clase en cuestión.

Código:
Inicio Programa
  Crear Objeto como Ejemplo
  Objeto = Nueva instancia de Ejemplo
  Objeto.Y = 10
  Objeto.Z = 20
  Objeto.Cuenta
Fin programa


La ventaja de declararlas a través de propiedades, radica en la posibilidad de crear código de control en el interior de la propiedad, mientras que como variable pública eso no será posible normalmente.

Todo dependerá de la necesidad de control de los datos.

1.6 Ambito de los datos.
Hemos indicado que los datos eran internos y externos, pero una vez dentro de lo que es la clase como tal, hay que tener presente que en la misma se escriben métodos, compuestos por funciones y procedimientos, y que estos a su vez pueden tener variables en su interior, estas variables que se declaran en el interior de un método, no son visibles por el resto de la clase.



Conviene tener la precaución de utilizar nombres de variables que no entren en conflicto por el nombre con otras declaradas a nivel de la clase, es el mejor sistema para evitar problemas, a pesar de que se pueden utilizar sintaxis que no dejan lugar a duda de si se hace referencia a una u otra variable, -del método o de la clase-, en el caso de coincidir, pero es mejor evitar la ocasión y así esquivar el problema.

Es importante tener presente el ámbito de influencia de las mismas, siempre es aconsejable que las variables sean lo más próximas posibles a su punto de utilización, para que de esa forma finalizada su utilidad se liberen.

1.7 Conclusiones.
En la imagen podemos ver como el programa es la zona amarilla, que lo abarca todo.

El objeto, es la zona azul, lo que hay en el interior de la zona azul son variables, los procedimientos y funciones no se han incluido, que se derivan de la clase ejemplo.

Lo que está unido al objeto con la flecha es lo que consideramos las propiedades, faltan los métodos, que es la parte que se ofrece al programa, al programador.

Se ha visto varias formas de iniciar los datos de una clase, pero son solamente distintas formas de abordar los datos de una clase, no es que unas sean mejores que otras, si no que según el diseño de la clase, eso nos llevará a utilizar uno u otro sistema.

Variables clasificadas en dos bloques.

    Las que se utilizan para consumo interno.
    Las que representan datos que han de ser facilitados desde el programa.


Se crean del tipo adecuado y si es necesario se inicializan a un valor adecuado, para ser utilizadas.

Internas, variables Se crean del tipo adecuado y si es necesario se inicializan a un valor adecuado, para ser utilizadas.

Externas, propiedades Se crean del tipo adecuado y sí, que es imprescindible que se inicialicen a un valor adecuado, para que de forma predeterminada, si no se asignan valores externos, pueda usarse el objeto con unos valores iniciales previos y válidos, que no generen un error.

Las variables declaradas en el método, no son visibles desde la clase.
Las variables declaradas en la clase, si son visibles en el método.

1.8 Ejercicios propuestos.
Los ejercicios los proponemos en el tema personalizado del lenguaje, Java o Visual Basic.


Autor del curso: casiopea


Normas del foro
Aprende a postear correctamente usando las etiquetas
Volver arriba
Ver perfil del usuario Enviar mensaje privado
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

AYUDA CON LOGEO Y BASE DE DATOS

gonzaloramirez PHP 1 Domingo 28 Oct 2018 03:29 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Base Datos Access Problemas Conexion/Reporte

ce_1187@hotmail.com Visual Basic .NET 0 Jueves 27 Sep 2018 22:31 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Cursos de programacion y base de datos

Alexweb ASP, ASP.NET 1 Jueves 31 May 2018 16:59 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Dudas al instanciar clases heredadas

MMCA Java 0 Viernes 26 Ene 2018 21:34 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Problema para extracción de datos utilizando py...

liz Python 1 Viernes 06 Oct 2017 11:05 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,