Muchos de los que me leen, no podrán creer la cantidad de personas que andan por el mundo presumiendo que son programadores y que no saben Orientación a Objetos.
Lo que es peor muchos de ellos están pidiendo trabajo el día de hoy sin comprender la importancia de este tema.
O peor aún que sin comprenderlo están seguros de poder realizarlo.
Tampoco les he de negar que me he topado en el camino con amigos que teniendo su título universitario en la mano, no serían capaces de armar ni el objeto más sencillo.
Pero he empezado este tema con un fin, que si andas por ahí buscando ser un mejor programador, te empapes de este tema.
Con el tiempo nos iremos elevando poco a poco, (sirve que voy juntando lectores en el camino) ya verán que llegara un momento en el cual las cosas se pondrán color de hormiga.
Iniciemos de una buena vez.
Para cuando me enseñaron programación orientada a objetos en la universidad yo ya llevaba 5 años programando en lenguaje estructurado. Empecé con un Atari utilizando Basic y poco a poco fui aprendiendo a programar.
En esas épocas el goto era muy utilizado y hacer desarrollos sencillos con muchas líneas de código era de lo más común.
Un día a alguien se le ocurrió que podíamos programar emulando la manera en que describimos las cosas a nuestro alrededor.
Y la forma que encontraron fue por medio de objetos.
Los objetos son un conjunto de propiedades, métodos y eventos. Así de sencillo.
Vamos a utilizar un ejemplo que la mayoría de nuestros lectores entenderá. LOS AUTOS.
¿Quién podría dudar que un Auto no es un objeto?. Y un objeto que en muchas ocasiones nos quita muy buena parte de nuestros ingresos. Pero más en serio.
Un auto tiene características que lo distinguen que llamaremos propiedades.
Dichas propiedades pueden ser el color, la marca, el modelo, el cilindraje, los caballos de fuerza.
También un auto tiene Métodos o actividades que puede realizar.
Por ejemplo un auto puede encenderse, apagarse, acelerar, frenar, etc…
Y como todo objeto un auto también tiene eventos. Que se disparan cuando sucede una situación con el mismo.
Como podrían ser los siguientes.
Al frenar, Al arrancar, Al acabarse la gasolina, Al Chocar, etc…
Por lo tanto podríamos describir este objeto de la siguiente manera, en programación cuando nos refiramos a los objetos en realidad nos referimos a ellos como clases, y esto es porque una clase es la abstracción de un objeto en particular.
Por ejemplo la clase Auto sería la abstracción de un objeto Golf, o de un Objeto Mercedes o un objeto BMW.
Todos estos objetos tienen características comunes que pueden ser descritas en un lugar, y esa abstracción que hagamos le llamaremos clase.
Un objeto seria en ejemplo concreto mientras que la clase seria una abstracción de dicho objeto
Pero no se preocupen, que si no le entendieron siempre tendrán este blog para volver a leerlo.
Para nombrar una clase necesitamos declararlo
public class Auto
{
}
Perfecto ya has declarado tu primera clase. Como sabrás todo aquello que va entre los corchetes, es parte de la clase auto.
Ahora vamos a describir el mismo y esto lo haremos con las propiedades.
‘Propiedades
Public sting Color
{
get
{}
set
{}
}
El comando get sirve para responder las peticiones cuando un algoritmo fuera de la clase desea saber que valor contiene dicha propiedad y el comando set sirve para asignarle un valor a la propiedad.
Los métodos son aquellas operaciones que deseamos permitir que realice la clase, en el caso del carro podría ser, encender y apagar. En el caso del brazo de un robot podría ser Moverse hacia arriba o hacia abajo
‘métodos
public Boolean Encender()
{
}
public bool Apagar()
{
}
Recuerden que dentro de los corchetes va el código que desean ejecutar.
Por último van los eventos, que son aquellas cosas que deseamos avisar al programa cuando suceden.
‘EVENTOS
public event EventHandler AlFrenar;
public event EventHandler AlArrancar;
public event EventHandler AlAcabarceLaGasolina;
public event EventHandler AlChocar;
Así es como finalmente quedaría, el esqueleto de una clase en C# y mas o menos igual en Visual Basic.
Se que aun me faltan muchas mas cosas por explicar pero creo que es suficiente por hoy.
Saludines y como diria bob ross felices trazos.
interesante….. te seguiremos leyendo…. cuando llegues a herencia e interfaces 🙂