Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Podemos entender la programación Orientada a objetos (POO) como una forma especial de programar,
más cercana a como expresaríamos las cosas en la vida real que otros tipos de programación, que
permite diseñar mejor las aplicaciones, llegando a mayores cotas de complejidad, sin que el código se
vuelva inmanejable.
Al programar orientado a objetos tenemos que aprender a pensar cómo resolver los problemas de una
manera distinta a como se realizaba anteriormente, en la programación estructurada. Ahora tendremos
que escribir nuestros programas en términos de clases, objetos, propiedades, métodos y otras cosas que
veremos rápidamente para aclarar conceptos y dar una pequeña base que permita soltarnos un poco con
los conceptos de este tipo de programación
Como hemos comentado, un objeto es un conjunto de datos (atributos) y acciones que puede
realizar o permiten interactuar con él (métodos→funciones y procedimientos).
Los programas son conjuntos de objetos que interactúan entre ellos a través de mensajes (llamadas
a métodos).
● Abstracción
● Encapsulación
● Ocultación
● Modularidad
● Herencia
● Polimorfismo
Abstracción
La abstracción es un concepto que también existe en la programación modular, pero esa
abstracción se realiza a través de la modularidad. Se pueden utilizar funciones y
procedimientos solo conociendo la función que realizan.
Inconvenientes:
● Las funciones y procedimientos comparten datos del programa. Los cambios en los
datos afectan a todo el conjunto del programa.
● Durante el diseño es difícil saber con detalle qué funciones y procedimientos se
necesitarán.
● La reutilización del código es difícil y acaba siendo un copy&paste seguido de
retoques.
Ejemplo de Abstracción 2:
¿Qué características podemos abstraer de los automóviles? o ¿Qué características semejantes
tienen todos los automóviles?
Características: Marca, Modelo, Número de chasis, Peso llantas o cauchos, Puertas, Ventanas...
Comportamiento: Acelerar, Frenar, Retroceder...
Encapsulación
● Consiste en dejar claro qué elementos pertenecen a un objeto y cuáles no. Es la
propiedad que permite asegurar que la información de un objeto está oculta del
mundo exterior.
● El encapsulamiento nos ayuda a proteger la integridad de los datos y nos asegura que
los atributos de nuestra clase solo podran ser accedidos a traves de los metodos
definidos en dicha clase.
Ocultación
● Permite que cada objeto esté aislado del resto de objetos.
● Para poder comunicarse entre ellos, los objetos han de ofrecer los mecanismos adecuados
(interface).
● class MetodosAcceso
● {
● // esta propiedad es pública, accesible desde fuera
● public $variable1 = 1;