La programación orientada a objetos es una extensión natural de la actual tecnología de programación, y representa un enfoque nuevo y distinto al tradicional. Es un importante conjunto de técnicas que pueden utilizarse para hacer el desarrollo de programas más eficientes.
CONCEPTOS FUNDAMENTALES DE LA PROGRAMACIÓN ORIENTADA A OBJETOS
Los principios de la tecnología orientada a objetos son:
- Objetos: dentro de los objetos residen los datos de los lenguajes de programación tradicionales, tales como números, arrays, cadenas y registros, así como funciones o subrutinas que operan sobre ellos. Las funciones dentro del objeto son el único medio de acceder a los datos privados de un objeto.En otras palabras es una entidad tangible que posee características (atributos) y acciones u operaciones (métodos que lo modifican).
Ejemplo de objeto:
Consideramos una ilustración de un coche vendido por un distribuidor de coches. El identificador del objeto es Coche1. Los atributos asociados pueden ser: número de matrícula, fabricante, precio_compra, precio_actual, fecha_compra.
Las características que ayudan a definir un objeto son:
- Encapsulamiento:
El encapsulamiento se utiliza para ocultar los métodos y atributos de una misma clase y que solo puedan ser utilizados en esa clase igualmente evitar su modificación y que el usuario solo utilice aquellos métodos que le sean útiles para la utilización del objeto en el programa asimismo mantener ocultos aquellos métodos internos que no son necesarios que el usuario maneje de esta manera facilitar la experiencia del usuario al utilizar el programa.
Por ejemplo:
La programación de una cafetera, donde el usuario solo tendrá acceso a ciertas partes del programa como lo son la cantidad y el tipo de café , apagado, encendido , etc ; en cambio el usuario no necesita saber los métodos utilizados para el vaciado y la selección de café ( métodos internos ) de esta manera se hace más fácil el manejo del programa .
Se suelen manejar dos tipos de encapsulamiento:
· Privado (private): resguarda al atributo y/o método que se esté usando para que solo pueda ser usado por esa clase
· Protegido (protected) : al igual que el private ayuda a resguardar el atributo o método pero en este caso solo para que pueda ser usado por una subclase o dentro de su propio paquete
- Modularidad: Consiste en dividir un programa en módulos que se puedan compilar por separado,pero que tienen conexiones con otros módulos.
- Abstracción: La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales).
- Polimorfismo: Permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas. Por ejemplo,cuando se describe la clase mamíferos se puede observar que la operación comer es una operación fundamental en la vida de los mamíferos,de modo que cada tipo de mamífero debe poder realizar la operación o función comer. Por otra parte, una vaca o una cabra que pastan en un campo, un niño que se come un caramelo y un león que devora a otro animal, son diferentes formas que utilizan los distintos mamíferos para realizar la misma función (comer).
- Métodos: Si ha programado en algún otro lenguaje orientado a objetos como c++ o pascal ya se puede estar familiarizado con los métodos dado a que se puede pensar en los métodos como funciones o procedimientos. Un método es una función que pertenece a la clase.
- Clase: Una clase es un tipo de dato definido por el usuario que determina las estructuras de datos y operaciones asociadas con ese tipo. Dicho de otro modo una clase es una colección de objetos similares.
IMPORTANTE: recuerda no confundir clases con objetos de esas clases, por ejemplo, un automóvil rojo y un automóvil azul no son objetos de clases diferentes, si no objetos de la misma clase con un atributo diferente.
Las clases se organizan para modelar el mundo real con la siguiente relación:
- Herencia: Propiedad que permite a los objetos ser construidos a partir de otros objetos. Dicho de otro modo, la capacidad de utilizar las estructuras de datos de los métodos previstos en antepasados o ascendientes.
- Ocultación de datos: El usuario no necesita saber cómo se implementa la ventana, sólo cómo se utiliza. Los detalles internos de la implementación puede y deben ser ocultados.
Subscribe by Email
Follow Updates Articles from This Blog via Email
No Comments