Existe una tercer forma de permitir que una clase sea más robusta, y es a través de la interfaces como puedo indicar a una o varias clases un comportamiento similar.

DEFINAMOS

Una interface permite definir el tipo de objeto más abstracto posible en POO, debido a que no implementa ningún tipo de funcionalidad, carece de constructor y no se puede inicializar ninguna instancia a partir de su propio tipo.

PRACTIQUEMOS

1- Para crear una interface, lo primero es agregar un item tipo clase al proyecto y luego modificarle el atributo class por interface.

2 – Recordemos que a diferencia de las clases abstractas una interfas no implementa nada respecto a sus propiedades o métodos.

3 – A diferencia de herencia las interfaces indican uncicamente la forma de implementación.

Un ejercicio para aplicar esto puede verse en la necesidad de enviar diferentes avisos de publicidad a diferentes tipos de usuario. Por ejemplo en una Pizzería se requiere enviar la oferta del día en una forma muy gráfica a sus clientes favoritos, mientras que una Librería quiere enviar la la oferta del Libro recomendado para el día a sus clientes que son personas elegantes y serias.

Lo primero es crear un componente genérico sobre el cual se puedan cargar los mensajes que van a ser enviados. Y luego tener una forma de crear la interfaz de usuario, el mensaje y enviarlo.

Para este ejercicio se pensó la siguiente interface:

using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace Silverlight_CPOO_02_Herencia_Interfaces
{
    public interface ICreadorMensaje
    {
        string Titulo { get; set; }

        string Contenido { get; set; }

        string De { get; set; }

        string Para { get; set; }

        void CrearMensaje(Panel panel);
    }
}

Como se vé, existen propiedades que permiten especificar el mensaje en sí, y existe un método el cual requiere como parámetro un objeto Panel en el cual se va a escribir o dibujar el mensaje que se envía al usuario final.

Se crean 2 UserControl, para simular los dos tipos de entidades, Librería y Pizzería así:

Anuncios

Páginas: 1 2 3