Programación en C#. POO

Paradigma orientado a objetos

El paradigma orientado a objetos es un modelo de abstracción para ver la realidad en forma de objetos, un objeto es aquel que tiene algo que lo identifique, ciertos atributos, ciertas acciones. Para tener un ejemplo pensemos en una persona, esta persona tiene ciertos atributos como su nombre, estatura, edad, peso entre otros atributos que la identifican, esa persona tiene muchas actividades entre ellas estudiar, hacer ejercicio, bailar etc. todas esas actividades son métodos que tiene un objeto.

Lo que acabamos de hacer es definir una clase, una clase es la definición de atributos y métodos que van a tener los objetos, es decir es el molde donde se van a basar todos los objetos que se van a instanciar o invocar (su estructura).

Una instancia es darle vida a dicho objeto de la clase. Donde se define que valores puede contener el objeto. En el caso de la clase Persona un ejemplo de instancia seria Julián.

Un atributo es lo que caracteriza un objeto en el caso del objeto Julián un atributo que lo caracteriza es su edad.

Un método es la acción que realiza un objeto, el objeto Julián puede realizar varias acciones como correr o tomar.

Entendiendo un poco esta idea vamos a programar la clase persona la que va contener los siguientes atributos:

Nombre, edad, peso, estatura, color de ojos y sexo.

Y los siguientes métodos:

Correr, comer, tomar, bailar, dormir, despertar.

En la vida profesional de cualquier analista, diseñador o programador encontraran un diagrama de clases, por lo cual debe estar familiarizado con estos diagramas que tienen como único fin modelar para que todos podamos entender de lo que estamos haciendo, este modelado esta bajo UML que es un lenguaje de modelado que nos ayuda a abstraer la funcionalidad de cualquier sistema para plasmarlo en diagramas donde cualquier persona que sepa UML podrá entenderlo.

Veamos el ejemplo:

clip_image001

En este diagrama de clase observamos la clase persona, los atributos que contiene y sus métodos que va usar.

Los signos de + significa que todos los atributos y métodos serán accedidos por cualquier otra clase sin ninguna restricción, mas adelante conoceremos esas restricciones.

1- Abra su visual studio o visual c# 2010>Archivo>Nuevo proyecto>Visual C#>Windows> Proyecto vacio ponga clase persona como ve en la siguiente imagen:

clip_image003

2- De aceptar y se generara una ventana donde veremos en la parte superior derecha el nombre de nuestro proyecto y las referencias que tiene. De click derecho en el nombre del proyecto ahí seleccione la opción agregar nuevo elemento como en la siguiente imagen:

clip_image005

Aparecerá un menú, usted va seleccionar clase y en la parte final póngale el nombre de Persona al final de click en agregar.

clip_image007

Ahora veremos una ventana de código, las directivas, el nombre del proyecto y la clase Persona.

clip_image008

3- Ahora lo que debemos hacer es fijarnos en el diagrama de clase y escribir primero los atributos de la clase persona. En la siguiente imagen veremos cómo debe de quedar.

clip_image009

4- Ahora vamos a agregar los métodos para la clase persona, aquí debe de poner mucha atención, en la imagen que sigue transcriba el código que ve a continuación:

clip_image011

clip_image013

5- Bien verifique que todo el código escrito no tenga problemas de compilación, guarde la clase, lo que vamos hacer ahora es agregar otra clase con la función de que sea el programa principal. Para ello nuevamente en la parte superior derecha de click en el nombre del proyecto con botón derecho agregue una nueva clase que se llame prueba. Transcriba el código a continuación que ve en las siguientes imágenes.

clip_image015

clip_image017

Cuando acabe guarde el proyecto, para probarlo apriete crtl+F5 no debe de tener errores de compilación, debe de aparecer lo siguiente:

clip_image019

Explicare cómo funciona el programa prueba.cs

Definí dentro de la clase prueba el método principal, el main, dentro del programa va a generar un nuevo objeto de la clase persona llamado persona01.

static void Main(string[] args)

{

Persona persona01 = new Persona();

Como había dicho en el anterior articulo en visual studio las palabras azules oscuras son palabras reservadas y las palabras azules claras son nombres de clases que ha definido VS o nosotros, en este caso definimos la clase persona en otro archivo llamado Persona.cs, me imagino que se hizo esa pregunta ¿cómo sabe el compilador que existe Persona en el proyecto?, la respuesta es simple, estos archivos Persona.cs y Prueba.cs forman parte del mismo proyecto, por eso el compilador sabe que existe. SI no especifica bien de donde provienen sus clases el compilador no va saber a que nos estamos refiriendo

Después de instanciar el objeto persona01 de la clase Persona, asigno valores en sus propiedades (atributos):

persona01.nombre = "Alvaro";

persona01.edad = 24;

persona01.estatura = 1.80;

persona01.peso = 79.022;

persona01.colorOjos = "cafes";

persona01.sexo = "Hombre";

Ya después de que son asignados los valores imprimimos en pantalla para verificar que el programa guardo correctamente los valores:

Console.WriteLine("mi nombre es: " + persona01.nombre);

Console.WriteLine("Mi edad es: " + persona01.edad );

Console.WriteLine("Mido : " + persona01.estatura);

Console.WriteLine("Mi peso es : " + persona01.peso);

Console.WriteLine(" Tengo los ojos : " + persona01.colorOjos);

Console.WriteLine(" Mi sexo es : " + persona01.sexo);

Después empezamos a trabajar con los métodos de la clase persona, aquí el programa da un valor al método para que este trabaje:

persona01.tomar(0);

Aquí vemos que dentro del objeto persona01 está un parámetro de entrada en su método tomar. Llama a este método y hace las operaciones que se programaron con anterioridad.

public void tomar(int ste)

{

if (ste == 1)

Console.WriteLine("Estoy tomando agua");

else

Console.WriteLine("No estoy tomando agua");

}

Aquí vemos el método tomar que está en el archivo Persona.cs cuando recibe un valor (0 o 1) hace comparación, si ste ==1 entonces va a imprimir en pantalla Estoy tomando agua, si no va imprimir en pantalla No estoy tomando agua. En el caso de Álvaro el valor de ste es cero por lo cual en la condicional if va caer en la negación.

Lo mismo pasa con el objeto persona02 solo que este trabaja con métodos diferentes que son dormir y despertar, y puedo trabajar con ellos en cualquier momento.

En este ejercicio usted aprendió a programar una clase con atributos y métodos. Como asignar valores a los atributos y como asignar valores de entrada a los métodos.

En la siguiente lección veremos la Herencia y un ejemplo de código para implementar herencia.

Dejo las siguientes preguntas para que las analice espero sus respuestas:

¿Que pasaría si comento la línea namespace en Prueba.cs? ¿Sigue funcionando el código?

¿Los métodos definidos en la clase Persona devuelven un valor?

Diseñe una clase automóvil donde contenga los siguientes atributos. Marca, Modelo, numero de motor. Programe dos métodos avanzar y frenar. El programa debe ser capaz de que el automóvil avance y frene.

Comentarios

Entradas populares de este blog

Herencia.

Placa 36 cara y cruz del comandante Moneda

Cosas que debes saber antes de que vayas a programar en C#