Please enable JavaScript.
Coggle requires JavaScript to display documents.
Programación orientada a objetos (Clases abstractas (Métodos abstractos…
Programación orientada a objetos
Clases
Es la definición de las características concretas de un determinado tipo de objetos
Sintaxis
Campos
es un dato común a todos los objetos de una determinada
clase
Sintaxis
<tipodeCampo> <nombreCampo>;
Acceso
<objeto>.<campo>;
Métodos
Conjunto de instrucciones a las que se les asocia un nombre
Sintaxis
<tipoDevuelto> <nombreMétodo>(<parámetros>) {<instrucciones>}
Sintaxis llamada
<objeto>.<método>(<parámetros>);
Objetos
Sintaxis creación
new<nombreTipo>(<parámetros>)
Constructor
Método especial con el mismo nombre de la clase y no retorna nada
Constructor por defecto
<nombreTipo>(){}
This
Hace referencia al propio objeto
Herencia
Mecanismo que permite definir nuevas clases a partir de otras ya definidas
Sintaxis
class <nombreHija>:nombrePadre>{<miembrosHija>}
Inicializador base
:base(<parámetrosBase>)
Llamada por defecto al constructor base
<nombreClase>():base(){}
Métodos virtuales
Son aquellos que pueden ser modificados en las clases hijas
Sintaxis en la clase padre
virtual<tipoDevuelto> <nombreMétodo>(<parámetros>){<código>}
Sintaxis en la clase hija
override <tipoDevuelto> <nombreMétodo>(<parámetros>){<nuevoCódigo>}
Clases abstractas
Es aquella que forzosamente se ha de derivar si se desea que se puedan crear objetos de la misma o acceder a sus miembros estáticos
Se puede combinar en cualquier orden el modificador abstract con el de acceso
Métodos abstractos
Se definen precediendo su definición del modificador abstract y sustituyendo su código por un ;
Llamar a los abstractos provoca un error al compilar
Todo método definido como abstracto es implícitamente virtual, pues si no sería imposible redefinirlo
No se pueden crear objetos de una clase abstracta
Me sirve como modelo para crear otras clases, sirve de superclase
La clase primegenia: System.Object
En .NET todos los tipos que se definan heredan implícitamente de la clase System.Object, por lo que dispondrán de todos los miembros de ésta. Por esta razón se dice que System.Object es la raíz de la jerarquía de objetos de .NET
Métodos comunes
public virtual bool Equals(object o)
Compara el objeto sobre el que se aplica con cualquier otro que se le pase como parámetro
public virtual int GetHashCode()
Devuelve un código de dispersión (hash) que
representa de forma numérica al objeto sobre el que el método es aplicado.
public virtual string ToString()
Devuelve una representación en forma de cadena del objeto sobre el que se el método es aplicado
protected object MemberWiseClone()
Devuelve una copia shallow copy del objeto sobre el que se aplica
public System.Type GetType()
Devuelve un objeto de clase System.Type que
representa al tipo de dato del objeto sobre el que el método es aplicado
protected virtual void Finalize()
Contiene el código que se ejecutará siempre que vaya ha ser destruido algún objeto del tipo del que sea miembro
Métodos de tipo
public static bool Equals(object objeto1, object objeto2)
Versión estática del método Equals() ya visto. Indica si los objetos que se le pasan como
parámetros son iguales
public static bool ReferenceEquals(object objeto1, object objeto2)
Indica si los dos objetos que se le pasan como parámetro se almacenan en la misma
posición de memoria dinámica
Polimorfismo
Capacidad de almacenar objetos de un determinado tipo en variables de
tipos antecesores del primero a costa, claro está, de sólo poderse acceder a través de
dicha variable a los miembros comunes a ambos tipos
Encapsulación
Mecanismo que permite a los diseñadores de tipos de
datos determinar qué miembros de los tipos creen pueden ser utilizados por otros
programadores y cuáles no
Procedimientos
Los que ejecutan código y no devuelven resultado
Funciones, ejecutan código y devuelven resultado
Procedimientos de propiedades
Procedimientos de operador
Reglas de codificación