miércoles, 15 de abril de 2015

Principios sobre la programación orientada a objetos.



La programación orientada a objetos se convirtió en un paradigma en el desarrollo de software cuando los programadores de computadoras aprendieron los beneficios de manejar el código de una forma modular.
Definiendo los "objetos" que representan la información que el programador utiliza a lo largo del programa, el programador, y otros programadores, pueden construir esos objetos para crear un software más complicado. El corazón del desarrollo de software de objetos son los conceptos de encapsulación de datos y abstracción, junto con las nociones de herencia y polimorfismo.


 Encapsulación
Cuando se escriben clases, una buena práctica de programación orientada a objetos requiere que los programadores "encapsulen" datos lejos de usuario del objeto. Esto significa que cualquier dato o función dentro de una clase no debe estar accesible para el usuario sin una modificación del programador. Un buen ejemplo son las funciones de "obtener" y "configurar" incluidas en la mayoría de las clases. Estas funciones controlan la forma en que el usuario puede ingresar a las variables de datos en un objeto, y aseguran que todos los datos se pueden considerar legitimados para el uso. Esto limita la preocupación sobre los datos corrompidos, o la manipulación ilegal de datos por parte del usuario.

Abstracción
Un beneficio de la programación orientada a objetos es que retira al usuario del requisito de saber cómo funcionan otros códigos. Este beneficio, llamado abstracción, significa que el usuario implementando un objeto creado por otro programador para realizar una tarea en particular no necesita saber cómo completa ese objeto su tarea. De esta forma, el usuario se puede concentrar en sus propios problemas, en lugar de preocuparse por la implementación de un objeto que podría querer utilizar. Esto permite a los programadores construir software más grandes y más complejos sobre objetos más pequeños.

Herencia
Otro beneficio de la programación orientada a objetos es la herencia, que también permite a los programadores construir programas más complejos desde partes más simples. La herencia es la forma en que los objetos "heredan" su funcionalidad de otros objetos, acomodándolas para sus necesidades. Por ejemplo, un objeto "profesor" puede heredar su funcionalidad a un objeto "persona", porque el profesor es una persona y requiere toda la funcionalidad del objeto persona (junto con las funciones adicionales de un profesor). De esta forma, el programador del objeto profesor no tiene que volver a reescribir el objeto de persona para utilizarlo, simplemente puede dejar que el objeto profesor herede sus funciones del objeto de persona.

Polimorfismo
El polimorfismo está unido a la herencia, porque es la forma en la que un objeto que hereda de otro objeto interactúa con ese objeto "base". Por ejemplo, el objeto profesor puede heredar ciertas funciones de su objeto base (persona), pero cambiar una de ellas. El objeto profesor aún puede utilizar las funciones de clase base junto con su propia versión de la función que cambia. Incluso, durante la ejecución de un programa el usuario puede declarar una variable para retener un objeto de persona, pero posteriormente al programa decide que necesita un objeto profesor más específicamente. En este caso, la variable separada para el objeto persona puede sostener a un objeto de profesor, porque el profesor hereda de (o es) un objeto persona.

          

No hay comentarios:

Publicar un comentario