Las características de la programación orientada a objetos pueden variar según el autor, las más importantes son:
Abstracción:
Es la característica que permite usar objetos sin preocuparse por el modo en que funcionan internamente, tomemos el ejemplo clásico del Auto (ahora quiero comprar un auto), uno puede tener un auto y utilizarlo sin saber ni preocuparse por el modo en que funciona (esto es aplicable en especial a las mujeres jejeje), en eso precisamente consiste la abstracción, el objeto puede cambiar los valores de sus propiedades, ejecutar algún tipo de trabajo o método y/o comunicarse con otros objetos sin revelar el modo en que internamente lo hace, de este modo el programador que lo utiliza conoce de modo “abstracto” las propiedades y métodos que puede realizar un objeto, pero no necesita preocuparse entender el funcionamiento real del objeto (para que vean que muchas personas utilizan este principio con sus autos).
Encapsulamiento:
Es común confundir esta característica con el “Principio de ocultación” (eso dicen en algunos lados y reconozco que tienen razón ya que soy uno de esos “confundidos”), el encapsulamiento consiste en colocar dentro de un objeto todas sus características y funcionalidad correspondiente, el objeto agrupa o “encapsula” esas características, a nuestro famoso objeto Auto no debemos ponerle un método que se llame “volar” puesto que los autos no vuelan (eso creo), el encapsulamiento nos permite mantener una “alta cohesión”, esto significa que toda la información del objeto se encuentra precisamente en el objeto puesto que es información que está relacionada y en conjunto define al objeto.
Principio de ocultación:
Esta característica permite que el objeto defina que características o métodos pueden ser vistos y ejecutados desde el exterior por otros objetos, y “oculta” a los objetos externos las características y métodos que sean necesarios solamente para uso interno, por ejemplo el auto (sigo pensando en el financiamiento para comprarlo) tiene un método llamado “arrancar” que puede ser ejecutado por un objeto externo (el chofer) sin embargo puede tener u método llamado “inyectar combustible” que puede ser invocado solo por el mismo objeto, en este último caso el método puede ser establecido con acceso privado y de este modo nadie más podrá ejecutarlo.
Polimorfismo:
Hace algunos días le pregunte a alguien sobre el polimorfismo en orientación a objetos y me respondió “es hacer algo de diferentes formas”, es una forma muy sencilla de explicarlo, el polimorfismo permite tener comportamientos diferentes con el mismo nombre en objetos distintos, tratare de ser más claro, podemos tener el objeto “Auto eléctrico” y el objeto “Auto de combustión” (ahí están los objetos distintos), ambos cuentan con un método llamado “arrancar” (ahí está el método con el mismo nombre en ambos objetos), sin embargo el método “arrancar” del “Auto eléctrico” provoca que inicie el funcionamiento de un motor eléctrico, y el método “arrancar” del “Auto de combustión” provoca la inyección de gasolina, pone a girar el motor e inicia la combustión para dejarlo funcionando (finalmente ahí están los comportamientos diferentes), hay un tipo especial de polimorfismo llamado sobrecarga de operadores que detallaré posteriormente en otro post.
Herencia:
La herencia permite definir objetos generales y posteriormente crear otros objetos que desciendan de ellos por lo tanto contienen sus características y definen algunas otras que los diferencian de los demás objetos descendientes del mismo objeto padre de este modo los objetos forman una jerarquía de clasificación en la cual conforme descendemos encontramos objetos cada vez más detallados, por ejemplo volviendo al clásico ejemplo del Auto, dicho objeto puede contener las características y comportamiento comunes de todos los autos y posteriormente crear otros objetos que hereden de Auto como serian “Auto eléctrico” y “Auto de combustión”, cada uno de ellos heredara las propiedades y comportamientos comunes de un auto y a su vez agregaran las características que los hacen especiales a cada uno de ellos.
Monday, July 28, 2008
Subscribe to:
Post Comments (Atom)
2 comments:
¡Hasta tu blog es de ñoños!
Bueno, ni pedo... Creo que ahora si te hemos perdido...
Despues de poco más de un año que te hice un comment, no has escrito nada... Ni pedo, creo que tampoco te gusto la ñoñes de los blogs, jajaja
Post a Comment