Creación de Diagramas de Clases en Visual C#
En esta guía de C#, explico
cómo crear un proyecto con distintas clases en Visual C#. Va a tratarse de una
aplicación de Consola o de formularios, en donde vamos a aprender a usar la utilidad de diagrama
de clases, vamos a crear clases estáticas y a explicar cómo se
realiza la herencia y a generar varios constructores.
Creacion de Diagramas de Clases en Visual C#
Nuestra aplicación, va a ser una
aplicación de la clase
principal Persona, la estructura del proyecto será la siguiente:
Clase principal:
Persona
Sub Clases:
Empleado
Docente
Administrativo
Ordenanza
Estudiante
Empresa
Universidad
Los tipos de relaciones que manejamos
en las clases son: Herencia y Asociación.
La clase principal será Persona,
con dos subclases llamadas Empleado y Estudiante, heredando sus propiedades.
Empleado a su vez tendrá las clases derivadas
llamadas Docente,
Administrativo
y Ordenanza, heredando
sus propiedades.
La clase Estudiante tiene una relación de
asociación con la clase Universidad, y la clase Empleado tendrá relación de asociación con la clase Empresa.
El objetivo de realizar los diagramas
de clases es mostrar una abstracción del mundo real y cómo podemos hacer para
llevar esa realidad a código de programación, al principio puede no parecer de
utilidad, pero nos permitirá tener un mayor conocimiento de la programación
orientada a objetos.
Antes de pasar a crear el Diagrama,
tenemos que comprender un concepto de gran importancia en la programación y
sobre todo en la programación orientada a objetos. El encapsulamiento y los ámbitos de protección, aunque
existen algunos más, vamos a distinguir en esta ocasión tres, que son los
ámbitos más básicos:
Public, Private,
Protected.
Estas tres palabras reservadas son
modificadores de accesibilidad, pueden existir ciertas características que no
nos interesan que sean mostradas al exterior de la clase, como puede ocurrir
con los atributos. En este caso nuestra palabra reservada es Private,
cuando nombramos algo con esta palabra reservada, solo tendremos acceso a esto
desde dentro de ese objeto.
Sin embargo, si nuestra palabra
reservada es Public,
se tendrá acceso tanto desde dentro como del exterior.
Finalmente, Protected, solo dará acceso a los
objetos hijos de esa clase.
Existen otras palabras reservadas que
también pueden ser de utilidad, como puede ser static, que
nos permite acceder a ese atributo o método sin una instanciación previa o internal, que nos permite acceder solo desde ese espacio de
nombres. Es interesante hacer un proyecto, solamente para experimentar con cada
una de las palabras clave, para comprobar que nivel de seguridad requerimos en
cada momento.
PASO 1: Creación de Proyecto en Visual C#
Vamos a crear nuestro nuevo proyecto
de Visual C#, dentro de nuestro Visual Studio, vamos a crear un proyecto de
consola (puede ser de tipo Form, ya que el diagramador de clases está en ambos
tipos de proyectos), no preocupa el aspecto visual en este ejemplo, sino más
bien captar la capacidad de la programación en objetos.
PASO 2: Diagramador de Clases, Creación del Archivo .cd
Cuando tengamos nuestro nuevo proyecto
generado, pulsaremos con el botón derecho dentro del explorador de soluciones
en nuestro proyecto y seleccionaremos la opción de “ver diagrama de clases”.
Se crea un nuevo fichero con extensión
.cd El contenido del fichero es un XML,
con las características de nuestro diagrama. Podemos crear tantos ficheros de
diagramas de clases como queramos, pudiendo introducir en ellos todo lo que
vayamos a crear en nuestra aplicación.
PASO 3: Creación de las clases
Vamos a comenzar el diagrama, creando
todos los cuerpos de las clases desde el diagrama de clases. Es un diseñador
bastante completo que nos permite trabajar con facilidad, realizando un drag
and drop.
Para realizar este proceso, primero
podemos arrastrar desde el cuadro de herramientas una clase o pulsar con el
botón derecho y crear una nueva clase.
Otra forma de crear la clase es pulsar
con el botón derecho y dar click en Agregar
y luego en Clase.
Cuando indiquemos que hemos creado
nuestra clase, nos aparecerá un cuadro de diálogo indicando que tenemos nuestra
nueva clase, podremos modificar el nombre de la misma.
A partir de aquí incluiremos los
nombres de los métodos, el tipo de dato al que pertenecen y el acceso del
mismo, en el cuadro de detalles de clase. Es necesario seleccionar la clase en
cuestión.
PASO 4: Determinar los campos de la clase padre y clases derivadas
Inicialmente vamos a generar una clase
a la que llamaremos Persona y le vamos a introducir los siguientes campos:
private int idpersona;
private string nombres;
private string apellidos;
private string correo;
private string telefono;
private string dui;
private string direccion;
private int iduniversidad;
private DateTime horario;
Tanto los métodos, como los atributos
vamos a indicar la palabra clave protected,
para que solo se pueda acceder a estos desde las clases hijas, si en vez de
usar protected, usaremos la palabra
reservada public, podríamos acceder
a ellos tanto desde las clases hijas, como a desde la clase padre.
PASO
5: Reautorizar o cambiar nombre de la clase
Otro apunte importante es que también
podemos incluir desde ahí, los distintos comentarios que deseemos agregar.
Hay una diferencia entre atributos y
propiedades, mientras que los atributos son de tipo privado, las
propiedades son este caso de tipo públicas, también podríamos haberlas creado
protegidas para que solo las clases hijas pudiesen acceder a ellas.
Se pueden nombrar a los atributos,
precedidos con “a_” y el nombre mientras que las propiedades precedidas con
“p_”. Esto es una costumbre que puede omitirse, también hay muchos
desarrolladores que solo preceden con un “_” aunque no es obligatorio nombrar
los atributos de esta manera, es interesante para evitar confusión, entre
atributos y propiedades.
PASO 6: Encapsulación de campos para convertirlos en propiedades
De hecho el IDE de desarrollo tiene
una función que permite encapsular el campo, como podemos ver en esta imagen,
que genera una propiedad de un atributo previamente codificado. El mismo
entorno de desarrollo se encarga por sí mismo de eliminar el inicio de la
nomenclatura.
PASO 7: Creación de herencia desde la clase hija a la clase padre
Con esta nueva clase ya generada,
pasamos a crear las respectivas hijas, para ello solo debemos crear una nueva
clase y tomar posteriormente del cuadro de herramientas la opción de Herencia. Damos clic sobre nuestra Clase Hija Empleado, con la opción
de herencia y sin soltar el botón nos dirigimos hasta la clase padre, en este
caso Persona.
Ya tenemos nuestra clase Empleado,
siendo hija de Persona, de la misma manera de construyen las demás clases
del diagrama.
Ahora mismo tenemos casi toda nuestra
aplicación diseñada, lista para empezar a programar. Pero, aún nos falta algo
dentro de nuestras clases de vital importancia y se trata del constructor y de cómo
implementar ese constructor en clases hijas. Además de código que contienen
nuestras clases.
DIAGRAMA DE EJEMPLO FINAL
EJEMPLOS DE CLASES PRINCIPALES QUE PODEMOS USAR PARA CREACION DE DIAGRAMAS EN MODELADOR DE VISUAL C#.
Avión
|
Empleado
|
Auto
|
Barco
|
Mascota
|
Cuenta
Bancaria
|
Restaurante
|
Empresa
|
Biblioteca
|
Computadora
|
Persona
|
Mueble
|
Figuras
Trigonométricas
|
Inventario
|
Publicado por:
Pedro Antonio Villalta
Perfiles en Facebook y Twitter
Facebook.com/pavillalta
Correos de contacto
pavillalta@gmail.com
pavillalta@ugb.edu.sv
Sigue mis blogs educativos
Comercio electronico (e-commerce)
Compiladores e interpretes
Desarrollo de aplicaciones para dispositivos móviles (developmentmobileapplications)
Ingenieria en sistemas informáticos (systemsengineering)
Ingenieria web (web engineering)
Noticias de tecnología | informática | ciencia (technologynews)
Programacion visual c++.net (programming visual c + +. net)
Programacion visual C# .net (Visual C # programming)
Programacion web php, ajax, css, javascrip...(web programming)
Programación visual basic .net (programming visual basic)
Redes de computadoras (computernetwork)
Investigación Científica
Artes Marciales, Tae Kwon Do
Programacion web php, ajax, css, javascrip...(web programming)
Programación visual basic .net (programming visual basic)
Redes de computadoras (computernetwork)
Investigación Científica
Artes Marciales, Tae Kwon Do
No hay comentarios
Gracias por su comentario