Paradigma de la Programación a Objetos

Elementos fundamentales de la programación orientada a objetos

Atributos Los atributos son las caracterísiticas individuales que diferencian un objeto de otro y determinan su apariencia, estado u otras cualidades

Constructores Los constructores son métodos de clase que se ejecutan automáticamente cuando se crea un objeto de un tipo determinado

Finalizadores Los finalizadores se usan para destruir instancias de clases

Propiedades y campos: Los campos y propiedades representan información que contiene un objeto. Los campos se parecen a las variables ya que se pueden leer y establecer directamente.

Eventos: consiste en una acción generada a partir de la interacción con una aplicación

Clases y Objetos: las clases describen el tipo de los objetos, mientras que los objetos son instancias de clases que se pueden usar. Con la analogía de plano, una clase es un plano y un objeto es un edificio construido a partir de ese plano

Clases anidadas: Una clase definida dentro de otra se denomina anidada

Métodos: Un método es el comportamiento que puede tener un objeto (lo que puede hacer), un método puede hacer cambios en las propiedades del objeto

Herencia La herencia permite crear una nueva clase que reutiliza, extiende y modifica el comportamiento que se define en otra clase

Interfaces: Las interfaces, como las clases, definen un conjunto de propiedades, métodos y eventos. Pero de forma contraria a las clases, las interfaces no proporcionan implementación

Delegados es un tipo que define una firma de método y que puede proporcionar una referencia a cualquier método con una firma compatible

Las Clases Una clase es una estructura de datos que combina estados (campos) y acciones (métodos y otros miembros de función) en una sola unidad. Una clase proporciona una definición para instancias creadas dinámicamente de la clase (objetos). Las clases admiten herencia y polimorfismo, mecanismos por los que las clases derivadas pueden extender y especializar clases base

Un evento es un miembro que permite que una clase u objeto proporcionen notificaciones

Un método es un bloque de código que contiene una serie de instrucciones. Un programa hace que se ejecuten las instrucciones al llamar al método y especificando los argumentos de método necesarios.
En C#, todas las instrucciones ejecutadas se realizan en el contexto de un método.
Los métodos se declaran en una clase, especificando el nivel de acceso, como public o private, modificadores opcionales como abstract o sealed, el valor de retorno, el nombre del método y cualquier parámetro de método.

Un campo es una variable que está asociada con una clase o a una instancia de una clase

Una declaración de clase puede especificar una clase base colocando después del nombre de clase y los parámetros de tipo dos puntos seguidos del nombre de la clase base

Una definición de clase puede especificar un conjunto de parámetros de tipo poniendo tras el nombre de clase una lista de nombres de parámetro de tipo entre corchetes angulares. Los parámetros de tipo pueden usarse luego en el cuerpo de las declaraciones de clase para definir a los miembros de la clase.

Cada miembro de una clase tiene asociada una accesibilidad, que controla las regiones del texto del programa que pueden tener acceso al miembro.z

Los miembros de una clase son miembros estáticos o miembros de instancia. Los miembros estáticos pertenecen a clases y los miembros de instancia pertenecen a objetos (instancias de clases)

Procedimentos y Funciones
Todas las instrucciones deben estar incluidas en un procedimiento o función, a las que llamaremos mediante su identificador. A estas funciones y procedimientos podemos pasarles parámetros. Existen cuatro tipos

Los procedimientos que ejecutan un código a petición sin devolver ningún resultado.

Las funciones que ejecutan un código y devuelven el resultado al código que las llamó.

Los procedimientos de propiedades que permiten manejar las propiedades de los objetos creados.

Los procedimientos de operador utilizados para modificar el funcionamiento de un operador cuando se aplica a una clase o una estructura.

Reglas de codificación en C#

Organización de ficheros


Mantener las clases y los ficheros cortos, con no mas de 2000 lineas de código
Crear un directorio para cada nombre de espacio

Indentación Usar Tab para indentar el código

Comentarios Evitar los comentarios de bloque, Comentar con /// para generar documentación

Declaraciones Se recomienda realizar una declaración por linea, ya que permite añadir un comentario explicativo

Inicializaciones Inicializar las variables locales lo antes posible

Espaciado Las lineas en blanco, mejoran la legibilidad del código