Sie sind auf Seite 1von 3

Abstracción PILARES DE LA ORIENTACIÓN A OBJETOS Encapsulamiento

Sirve para separar el interfaz contractual de una abstracción y su implantación.


• La abstracción se centra en las características esenciales de algún objeto, en relación a la
perspectiva del observador. En otras palabras, es la capacidad de conceptualizar entidades
Es la ocultación de la información , capacidad que tienen los objetos de ocultar su código
al cliente y proteger sus datos, ofreciendo única y exclusivamente una interfaz que garantiza
genéricas de información a partir de cosas concretas.

que el uso del objeto es el adecuado.
• Una clase debe capturar una y solo una abstracción clave y poder se reconocer los
Permite exponer el estado del objeto sólo a través del comportamiento que le hayamos
atributos y métodos de un objeto.
definido mediante miembros públicos (modificador de acceso).
• A través de este pilar o fundamento es posible abstraer un problema y convertirlo en un
modelo de solución.
Polimorfismo

Es la capacidad que tienen los objetos de responder de diferentes formas al mismo mensaje (esconder
diferentes implementaciones tras una sola interface, permitir invocar genéricamente un
comportamiento cuya implementación será delegada al objeto correspondiente recién en tiempo de Herencia
ejecución).
Analogía
La herencia es una relación entre clases en la cual
En tiempo de ejecución, los objetos de una clase derivada pueden ser tratados como objetos de una
una clase comparte la estructura y comportamiento
clase base en lugares como los parámetros del método y las colecciones o arreglos. Cuando esto ocurre
definido en otra clase. Cada clase que hereda de
el tipo del objeto declarado ya no es idéntico a su tipo tiempo de execution.

otra posee:
La definición del método reside en la clase base
Los atributos de la clase base además de
La implementación del método reside en la clase derivada

los propios.
La invocación es resuelta al momento de ejecución
Soporta todos o algunos de los métodos
Ejemplos de implementación de polimorfismos
de la clase base.
Variables Polimórficas: Declaración de variables con referencia varios tipos.
Llamadas polimórficas: Llamadas de métodos con diferentes constructores.
Propiedades: Participan del mecanismo de polimorfismo igual que los métodos Acoplamiento / Relaciones
Interface: La cual es un tipo de herencia por contrato que obliga a las clases que implementan la
interfaz a implementar cada uno de los miembros de esa interfaz.
Herencia: Atreves de las palabras claves base y this.. Es la medida en la que un objeto
Clases abstractas: atreves de métodos virtuales y override). depende de otro
Atreves d métodos convencionales con virtuales y override Para funcionar, la información fluye
Sobrecargar o Overloading de métodos y constructores. atreves de mensajes.
Inyección de dependencia: atreves de objetos creados de las jerarquías de clases.
CLASE VS ESTRUCTURAS DELEGADOS
• Una clase es un tipo de referencia (ref type). • Un delegado es un tipo de referencia que puede ser utilizado para encapsular un
• Cuando un objeto de la clase se crea, la variable a la que se le asigna el objeto contiene sólo método con nombre (nombrado) o un método anónimo.
una referencia a la memoria. • Los delegados se utilizan para pasar métodos como argumentos a otros métodos.
• Una estructura es un tipo de valor. (value type) • Los delegados pueden ser encadenados, por ejemplo, varios métodos pueden ser
• Cuando la estructura se le asigna a una nueva variable, se copia. La nueva variable y la llamados en un solo evento.
variable original por lo tanto, contienen dos copias de los mismos datos. Los cambios • Los delegados son métodos con nombres:
realizados en una copia no afectan a la otra copia. • Cuando se instancia de un delegado utilizando el nombre de un método.
• Los delegados construidos con un método de nombre pueden encapsular un
CLASE ABSTRACTA método de instancia de tipo o bien un método estático.
• Una clase abstracta no puede ser instanciada. • El uso de métodos con nombre es la única manera de crear instancias de un
• El propósito de una clase abstracta es proporcionar una definición común de una clase base delegado.
que múltiples clases derivadas pueden compartir. • Una propiedad útil de los delegados es que varios objetos se pueden asignar a
una instancia de un delegado mediante el operador + y desasignar con -.
VIRTUAL Y ABSTRACT
• Cuando una clase base declara un método como virtual, una clase derivada puede remplazar EVENTOS
el método con su propia implementación. Un evento en C# es una manera de una clase proporcionar notificaciones a los clientes
de la misma cuando algo interesante sucede a un objeto.
CLASES SELLADAS Los eventos proporcionan una manera útil para que los objetos indiquen cambios de
• Una clase sellada no se puede utilizar como una clase base. estado que pueden ser útiles a los clientes de los mismos.
• Las clases selladas se utilizan principalmente para evitar la derivación. Los eventos se declaran utilizando delegados.
• Al igual que la palabra clave abstract, sealed puede ser utilizada como prefijo a nivel de clase Un evento es una manera para que una clase permita a los clientes dar a los delegados
o a nivel de método. métodos que deben ser llamados cuando se produce algo específico.

INTERFACES ACCECIBILIDAD
• Las interfaces describen un conjunto de funcionalidades relacionadas que pueden pertenecer Se especifica cómo acceder a sus tipos y miembros desde el código de cliente mediante
a una clase o estructura. el uso de los modificadores de acceso:
• Las interfaces pueden estar conformadas por métodos, propiedades, eventos. • Publico: Cualquier clase puede “ver” los miembros públicos de otra clase
• Cuando una clase o estructura implementa una interfaz debe definir a todos los miembros de • Privado: Sólo la clase puede ver sus propios miembros privados
la interfaz. • Abstract: protected, internal, protected internal, sealed.
• La interfaz, por sí misma, no provee funcionalidad, si no una clase o una clase o estructura
puede implementarla.
• Una interfaz no puede ser instanciada.
• Las clases y las estructuras pueden implementar mas de una interfaz.
• Una interfaz puede heredar de múltiples interfaces.
El mundo color de Objetos
Todo es un Objeto ¡¿~?!
¿Qué es una Clase? ¿Qué es un objeto?

Un objeto posee:

Una clase es una definición o descripción abstracta de un grupo de objetos con:
Estado, exhibe un Comportamiento bien definido

IDENTIDAD .
y tiene una Identidad única.

INFORMACIÓN en común (ATRIBUTOS).


COMPORTAMIENTOS similares (MÉTODOS O OPERACIONES)


Los valores del conjunto de atributos definen el ESTADO.


La misma forma de relacionarse con otros objetos (RELACIONES)
Sirve como modelo para la creación de objetos, por esto los
objetos pueden ser agrupados en clases, ya que un objeto es una
INSTANCIA de una clase.

Comunicación entre objetos

ESTADO IDENTIDAD
• Lo que el objeto sabe de la existencia de si mismo. Cada objeto tiene
• El estado de un objeto es una de las posibles una identidad única,
condiciones en que el objeto puede existir. incluso si su estado
• El estado normalmente cambia en el transcurso del es idéntico al de otro
tiempo. objeto
• El estado de un objeto es implementado por un
conjunto de propiedades (atributos), además de las
conexiones que puede tener con otros objetos.

COMPORTAMIENTO
• Lo que el objeto puede hacer.
• El comportamiento de un objeto determina cómo éste actúa
y reacciona frente a las peticiones de otros objetos.
• Es modelado por un conjunto de mensajes a los que el
objeto puede responder (operaciones que puede realizar).
• Se implementa mediante métodos.

Das könnte Ihnen auch gefallen