Buscar

Ingphillip's-Prog

TODO: WEB!!!

Etiqueta

Silverlight; POO; WEBCAST

CPOO en Silverlight – Clases y Objetos – 02


En el anterior post se dio un vistazo al concepto de clase y objeto, veamos unos temas de mayor relevancia a la hora de programar de forma orientada a objetos.

DEFINAMOS

¿Qué es un Constructor ?

Una vez se instancie una clase, es decir, se cree un Objeto, el Constructor permite la configuración de dicho Objeto, de forma tal que se puedan inicializar variables, estados, eventos o procesos para que el objeto pueda ser usando e interactúe con otros objetos.

Por ejemplo supongamos que Victor tiene un  porshe convertible. Y digamos que quiere sacar su carro de día. Por lo que elige tener un carro sin capota y que le permita recibir aire.

Pero Victor al otro día sale en la noche y quiere un coche que sea  más confortable y pueda evitar el frió por ejemplo.

Según lo anterior, el constructor permite crear una instancia de carro con capota y otra sin capota, según Victor lo requiera.

PRACTIQUEMOS

Teniendo una nueva solución, creamos la clase carro:

Clase carro:

En una primera vista la clase con construcutor irá de la siguiente forma:

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_Clases_02
{
    public class Carro
    {
        ///
<summary> /// Constructor, debe llevar el mismo nombre de la clase.
 /// </summary>
        public Carro()
        {

        }
    }
}

Ahora si especificamos la inicialización de un objeto a través de un constructor el cual me permita configurar si el carro tiene capota o no, el diagrama y código será de la siguiente forma:

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_Clases_02
{
    public class Carro
    {
        ///
<summary> /// Propiedad privada para la clase carro
 /// que indica si el carro tiene o no capota
 /// </summary>
        private bool _TieneCapota;

        ///
<summary> /// Constructor para la clase Carro que permite inicializar
 /// la variable que indica si el carro tiene o no
 /// capota.
 /// </summary>
        public Carro(bool tieneCapota)
        {
            //Se establece el valor de la propiedad
            //privada del objeto que de va a instanciar.
            _TieneCapota = tieneCapota;
        }
    }
}

Respecto a la propiedad privada de la clase, resta indicar por ahora que simplemente es una variable que sólo la clase podrá modificar internamente, es decir dentro de cualquier parte del código encerrado por la definición de la clase.

Anuncios

Páginas: 1 2

CPOO en Silverlight – Clases y Objetos – 01


DEFINAMOS

La programación orientada a objetos, como el nombre lo indica esta enfocada y centrada en el uso de objetos, y se constituye como un paradigma que permite la creación de programas de software eficienties, robustos y funcionales.

¿Qué es una clase?

Clase, puede entenderse como un plano, a partir de el cual se crea un objeto.

Imaginemos un conjunto de casas residenciales, el arquitecto crea un plano y a partir de este se crean todas las casas del conjunto.

Manera formal:

Clase, es el  marco programático que permite definir la configuración  para  un grupo de objetos.

¿Qué es un objeto?

Objeto, instancia generada a partir de una clase (plano).

Manera formal:

Objeto, unidad de software con propiedades, estados, comportamientos, funcionalidades, intercambio de mensajes que cumple una tarea o funcionalidad definida en la ejecución de un software.

Así como se ve en la imagen anterior, podemos crear una representación gráfica de una clase, estableciendo así un contexto más claro que permita inspeccionar  propiedades, métodos  u otros que integremos a la definición de esa clase.

Páginas: 1 2 3

Subir ↑