|
Programacion Orientada a objetos I
|
30 Oct 2006
visto 1875 veces
rating
4 votos
|
Este articulo será el primero de una serie que describirá, de un modo general, en que consiste el paradigma de la programación orientada a objetos.
Desde hace tiempo, la programación orientada a objetos (POO), que no es mas que un modo de programar, esta obteniendo un papel cada vez mas importante, en el desarrollo del software. Aplicaciones mas solidas, rápidas y fiables son posibles hoy gracias a la POO. Aunque cuidado, es relativamente sencillo, si no se sigue un orden, perderse.
Os muestro lo que será un indice de los temas que trataremos:
- Objetos en vez de un conjunto disperso de funciones y variables.
- Que son las clases
- Instanciando un objeto
Objetos en vez de un conjunto disperso de funciones y variables
La POO da lugar a un nuevo modo de ver la programacion, entendida en el pasado como programación estructurada, donde variables, funciones y llamadas a estas, "convivian" en un entorno, para la realización de un fin - aplicacion -.
Podriamos decir que eran "entidades propias e independientes".
Con POO, estas pasan a formar parte de una entidad indivisible llamada objeto.
Las funciones que un objeto puede realizar, se representan como metodos de un objeto, y aquellas variables que podamos asociar al objeto de una manera logica, podriamos denominarlas propiedades.
Por ejemplo:
Imaginemos que tenemos este conjunto de funciones:
- Correr()
- Comer()
- Respirar()
- Pensar()
Parece sencillo pensar que todas estas acciones son realizables por un ser humano, verdad? Ya que un ser humano corre, respira, come y piensa - bueno algunos mas que otros :-) -
Bien, dado este ejemplo, podriamos crear un objeto de tipo Persona cuyos métodos (funciones) serian los anteriormente nombrados.
Os estareis preguntando, y como mantengo el estado de la persona, es decir, que es lo que puede establecer la diferencia entre una persona y otra. Aqui es donde entran en juego lo que llamamos propiedades de un objeto. Nosotros sabemos que no existen dos personas iguales, pero cuidado, pueden existir dos objetos iguales. Pondré un ejemplo de esto mas adelante.
Como propiedades del ejemplo anterior podríamos nombrar:
- Nombre
- DNI
- Peso
Como veis, estas propiedades son muy parecidas a lo que en programación estructurada llamabamos variables. Estas propiedades, hacen que, en este caso, mis objetos de tipo persona sean distintos, ya que cada uno tiene un DNI diferente. Y podemos observar tambien que el metodo Correr y Comer, seguramente influirian en el peso de dicha persona. Como veis los valores de dichas propiedades podrian ser modificadas en cada uno de los metodos que hemos nombrado.
Otro ejemplo podria ser el objeto coche, cuyos metodos podrian ser girar, acelerar, frenar, etc... y cuyas propiedades podrian ser marca, modelo, etc...
De esta forma un objeto esta compuesto de propiedades y métodos. Y este comienza su ciclo de vida dentro de una aplicación, es creado en un momento determinado (no tiene porque ser al iniciar el programa). En el momento de su creación tiene su propia identidad, y un estado inicial.
Que son las clases
Las clases constituyen el modo en el que definimos los objetos durante el proceso de desarrollo de una aplicación. Un objeto es una instancia de una clase, es decir su representación software. He aqui un ejemplo de clase (sin usar ningun lenguaje de programación especifico):
Hemos creado una clase persona, con una propiedad llamada peso, y en la que influyen los metodos correr (quita peso) y comer (añade peso).
clase Persona
{
Peso;
Persona (_peso)
{
Peso=_peso;
}
Correr(minutos)
{
Pesoaquitar=minutos*(1/40)
Peso=Peso-Pesoaquitar
}
Comer(calorias)
{
Pesoaponer=calorias*0.001
Peso=Peso+Pesoaponer
}
}
Como veis, existe un metodo llamado Persona. Es lo que se llama un metodo de tipo Constructor, y es el encargado de inicializar el objeto.
Instanciando un objeto
Para instanciar un objeto, lo hariamos de la siguiente forma:
Persona persona1=new Persona(80) //estariamos creando una persona con 80 kilos
persona1.Correr(20) //estariamos haciendo correr a la persona 20 minutos, con lo que perderia peso
persona1.Comer(1500)//estariamos haciendo comer a la persona 1500 calorias, con lo que recuperaria peso.
Si bien es cierto que en programacion estructurada, directamente habriamos creado una variable llamada peso, y habriamos llamado a las funciones Correr y comer pasandoles el peso y los minutos, o el peso y la cantidad de calorias.
Este modo de trabajo pretende organizar las actividades en grupos logicos (entidades). De este modo la programación se hace de un modo mas modular y es mas escalable, ya que si quisiesemos añadir una funcion a la clase Persona, bastaria con añadirla y programarla. En programacion estructurada, al no haber entidades logicas diferenciadas resulta mas desorganizado el código y por tanto, se hace mas farragoso el hecho de añadir codigo extra.
Tags:
objetos
oop
poo
programacion
Autor: dotnetdeveloper
Publicar en:

Votar:
Debes estar registrado para votar
Comentarios
31 Oct 2006
AnaBaulop
Espero una segunda parte y una tercera... Muy bueno compi! :)
06 Nov 2007
pamchi
Tengo una duda, por ejemplo que yo quiero creear n objetos, como hago para poder nombrarlos de forma distinta en tiempo de ejecución?
Es decir, puedo obtener el nombre de una persona desde un texbox y luego agarrar ese nombre para crear el objeto persona?