En mis ratos libres ...

21 marzo 2013

Hablemos de clases en C#

Hola lectores, el día de hoy quiero platicarles de clases en C#, gracias a sus inquietudes y a los comentarios que me enviaron eh decidido escribir esta entrada.

Creo que empezaremos por definir que es un clase, por definición del mismísimo msdn, tenemos que una clase es:

"Un tipo de datos muy eficaz como las estructuras, las clases definen los datos y el comportamiento del tipo de datos, los programadores pueden crear objetos que son instancias de una clase ,a diferencia de las estructuras, las clases admiten herencia, que es una parte fundamental de la programación orientada a objetos."


Dejando atrás las definiciones formales, tenemos que una clase básicamente sirve como modelo para la creación de objetos, la describo de esta manera por que sabemos que una clase tiene atributos y comportamientos, que definen a un objeto, y si decimos que un objeto es la instancia de una clase, entonces tenemos que la clase sirve como modelo para la creación de objetos.

Pero como definimos las clases en c#, pues sencillamente utilizando la sintaxis adecuadas, lo hacemos de la siguiente manera:


Existen varios niveles de acceso a la clase, (Modificadores) se describen a continuación:


  • public:acceso no restringido.
  • private:acceso limitado al tipo contenedor.
  • internal:acceso limitado al proyecto actual.
  • protected:acceso limitado a la clase contenedora o a los tipos derivados de esta clase
  • protected internal:acceso limitado al proyecto actual o a los tipos derivados de la clase contenedora.

Otros modificadores: const, event, extern, override, readonly, unsafe, virtual, volatile.

Ahora veamos todos los componentes de una clase:



Para empezar sabemos que una clase contiene atributos y comportamientos, pero no solo es eso, a continuación describiré cada uno de los elementos que una clase puede tener:


  • Atributos: son las características propias del objeto.
  • Propiedades: sirven para comunicarnos desde el exterior de nuestra clase con nuestros atributos, las buenas practicas nos enseñan que cada atributo no debe ser accedido desde fuera de la clase, entonces para eso se crean las propiedades, que con su método get y set son capaz de interactuar con nuestros atributos, esto se debe a que las propiedades son publicas, y los atributos son privados.
  • Constructor: los constructores permiten al programador establecer valores predeterminados, limitar la creación de instancias y escribir código flexible y fácil de leer, estos pueden ser sobrecargados.
  • Métodos: Los métodos son un bloque de código que contiene una serie de instrucciones, en C#, cada instrucción se ejecuta en el contexto de un método.

Ahora veamos un ejemplo de clase:




Ya que conocemos bien como se ve una clase, que valores puede llevar y como se definiría en C#, vamos a hablar un poquito de los tipos de clases que existen:

Clases Abstractas
En pocas palabras podemos decir que las clases abstractas son aquellas a las que no podemos instanciar directamente,  básicamente el propósito de estas clases es el de proporcionar una definición común de clase base que puede ser heredada, se distinguen por llevar su nombre en letras cursivas en los diagramas de clase.

Aquí un ejemplo gráfico:


Ejemplo en C#:


Clases Selladas
Así como hay clases abstractas también existen clases selladas, estas clases son todo lo contrario a las clases abstractas, básicamente estas clases selladas NO pueden ser heredadas.
Las clases selladas se utilizan principalmente para impedir la derivación, puesto que nunca se pueden utilizar como una clase base, algunas optimizaciones en tiempo de ejecución pueden hacer que sea un poco más rápido llamar a miembros de clase sellada.


Clases Parciales
Estas clases sirven para dividir la definición de una clase, ¿y como es eso?, pues fácil cada archivo de código fuente contiene una parte de la definición de una clase, y estas se combinan cuando se compila la aplicación, para dividir una clase basta con utilizar el modificador de palabra clave partial de la siguiente manera:

Bueno, espero que les haya quedado claro, dejen sus comentarios  saludos !

Edder Rosado Lira

2 comentarios:

  1. Muchísimas gracias esta perfecto para mi que con definiciones tan formales no lo entendía. ¡Gracias bro!

    Po otro lado amigo no te recomiendo usar el color amarillo sobre fondo blanco es difícil de leer créeme. En su lugar usa colores opacos o fríos para que puedan contrastar bien con fondo brillantes o claros (te sugiero que investigues sobre teoría del color que no es tan difícil).
    Gracias por mostrar tus conocimientos y sigue escribiendo mas publicaciones. Sigue así, éxitos,

    ResponderBorrar
    Respuestas
    1. Gracias por tomarte tu tiempo en comentar, y que bueno que te pareció útil la información, en cuanto a lo de los colores, te agradezco tus comentarios, jejeje lo que pasa es que anteriormente el color de fondo del blog fue negro, y por eso le quedaba super bien el amarillo, jejeje pero pues no lo he actualizado, gracias por tus comentarios realmente se agradece todo. saludos y que tengas buen día.

      Borrar

Copyright © Edder Rosado Lira | Powered by Blogger

Design by Anders Noren | Blogger Theme by NewBloggerThemes.com