Aprendiendo Objetos

Aprendiendo objetos, objetos, objects, learning, developer, csharp

Aprendiendo Objetos

En la programación en los lenguajes más famosos y utilizados se utilizan los objetos, es como una de las partes principales de la programación que muchas personas no entienden o simplemente no le dan esa importancia. En el tema Aprendiendo Objetos conoceremos todos esos aspectos de la misma manera que hemos estado mostrando “Scratch”. Si gustas que profundicemos en un tema puedes colocar un comentario indicando cual es el tema que te gustaría que ampliemos.

Los objetos

La programación orientada a objetos es una técnica que utilizas objectos. Los objetos contienen, estructuras, propiedades, métodos y eventos.

Pensando en objetos

Un objeto de software es conceptualmente similar a un objeto en el mundo real.  La mejor manera de pensar, es utilizar los objetos como, el carro, teléfono de los cuales tiene, propiedades ( modelo, color ) funcionalidad ( acelerar, frenar ).

Las clases

Una class es una plantilla donde los objetos son creados . En el mundo real, los objetos ocupan plantillas para definir como podría construirse. Todos los objetos son creados de la misma plantilla. Un objeto es también conocido como una instancia de una clase.

 

    class Rectangulo
    {
        private double longitud;
        private double ancho;
 
        public Rectangulo(double longitud, double ancho)
        {
            this.longitud = longitud;
            this.ancho = ancho;
        }
 
        public double GetArea
        {
            get { return longitud * ancho; }
        }
    }

 

Los métodos

Un método es un bloque de código que contiene una serie de invocaciones.  En el mundo del software, un método se define como la acción o operación soportada por la clase.

 

        public int Factorial(int n)
        {
            if (n == 0)
            {
                return 1;
            }
            else
            {
                return n * Factorial(n - 1); 
            }
        }

 

Los constructores

Los constructores son usados para inicializar los datos del objeto. Cada clase tiene constructores, este se llama igual que la clase y puede recibir parámetros pero no puede regresar valores. Soporta múltiples constructores en una clase pero deben recibir diferentes parámetros ( sobrecargados ). Si a la clase no se le genera un constructor, este automáticamente se genera como default, el cual no hace nada.

Creando objetos

 

Rectangulo rectangulo = new Rectangulo( 5.0, 10.0 );
double area = rectangulo.GetArea;
Console.WriteLine( “Área del rectángulo: {0}”, area );

 

Las propiedades

Las propiedades nos permiten acceder a los datos de la clase de una manera segura y flexible. Las propiedades tienen dos accesos, get y set. Get es para obtener la propiedad Set es para asignarle valor a la propiedad.

        private double longitud;
        public double Longitud
        {
            set { longitud = value; }
            get { return longitud; }
        }

La palabra this

La palabra this puede usarse para acceder a miembros de la propia clase por ejemplo, constructores, métodos y propiedades.

 

        public Rectangulo(double longitud, double ancho)
        {
            this.longitud = longitud;
            this.ancho = ancho;
        }

 

Delegados

Los delegados son tipos especiales que usan la encapsulación como principal asignación. Se utilizan en los eventos.

 

public delegate void RectangleHandler(Rectangle rect);
public void DisplayArea(Rectangle rect)
{
    Console.WriteLine(rect.GetArea());
}
RectangleHandler handler;
handler = DisplayArea;
Rectangle rect = new Rectangle (10, 20);
handler(rect);

Eventos

Los eventos son la manera que las clases notifican a otras clases o objetos cuando algo interesante paso. La clase que manda una notificación es llamado publicador. La clase que recibe la notificación es llamado el suscritor. Cuando se define un evento, se necesitan dos cosas un delegado que conecte el evento con el controlador del método una clase que contenga la información del evento, clase que usualmente deriva de EventArgs.

public delegate void EventHandler( Object sender, EventArgs e );

 

Leave a Reply

Your email address will not be published. Required fields are marked *