P
N O R I E N T A D A A O B J E T O S
R O G R A M A C I Ó
MIGUEL VALDERRAMA
PROGRAMACION CON PHP
PROGRAMACIÓN ORIENTADA A OBJETOS
CLASES, OBJETOS Y ATRIBUTOS
METODOS (FUNCIONES)
05 05 06
C O N T E N I D O
C
07
08
09POLIMOFORMISMO
O N T E N I D O
CONSTRUCTORES
HERENCIA
C O N T E N I D O
10
DIFERENCIAS Y SEMEJANZAS ENTRE OCULTACIÓN Y ENCAPSULAMIENTO DE DATOS
METODOLOGÍA ORIENTADA A OBJETOS EN PHP.
12
REFERENCIAS
11
CLASES
ES UN PARADIGMA DE PROGRAMACIÓN QUE SE BASA EN EL CONCEPTO DE "OBJETOS", LOS CUALES PUEDEN CONTENER DATOS, EN FORMA DE CAMPOS, Y CÓDIGO, EN FORMA DE PROCEDIMIENTOS ESTE ENFOQUE PERMITE ORGANIZAR Y ESTRUCTURAR EL CÓDIGO DE UNA MANERA MÁS CLARA Y MODULAR, LO QUE FACILITA LA REUTILIZACIÓN Y MANTENIMIENTO DEL MISMO.
Una clase es como un plano o plantilla para crear objetos que son instancias concretas de esa clase. Cada objeto tiene atributos (variables) y métodos (funciones) que definen su comportamiento y características La programación orientada a objetos permite organizar y estructurar el código de una manera más clara y modular, facilitando la reutilización y el mantenimiento del código
OBJETOS
La programación orientada a objetos se basa en la creación de objetos que contienen tanto datos como funciones Estos objetos interactúan entre sí para realizar tareas y representar entidades del mundo real Cada objeto es una instancia de una clase, que actúa como un plano o plantilla para crear objetos
Los objetos tienen propiedades (datos) y métodos (funciones) que les permiten realizar acciones específicas Por ejemplo, un objeto "coche" podría tener propiedades como "color", "marca" y "modelo", y métodos como "arrancar" y "apagar"
ATRIBUTOS
La programación orientada a objetos se basa en el concepto de atributos, los cuales son características o propiedades de un objeto Estos atributos representan el estado de un objeto y pueden ser de diferentes tipos, como enteros, cadenas de texto, booleanos, entre otros Por ejemplo, si tenemos una clase "Persona" con atributos como nombre, edad y género, cada objeto de tipo Persona que creemos tendrá sus propios valores para esos atributos
P R O G R A M A C I Ó N O R I E N T A D A A O B J E T O S
M E T O D O S
( F U N C I O N E S )
Un método en programación orientada a objetos es una función que forma parte de una clase y define el comportamiento de los objetos creados a partir de esa clase. Los métodos pueden acceder a los datos de un objeto y modificar su estado interno, lo que nos permite modelar el comportamiento de entidades del mundo real de manera eficiente y organizada.
Los métodos pueden ser públicos, privados o protegidos, lo que nos permite controlar el acceso a ellos desde fuera de la clase. Los métodos públicos son accesibles desde cualquier parte del programa, los métodos privados solo pueden ser accedidos desde dentro de la clase y los métodos protegidos pueden ser accedidos desde las clases derivadas.
En resumen, los métodos son una parte fundamental de la programación orientada a objetos, ya que nos permiten definir el comportamiento de los objetos y encapsular la lógica de nuestro programa de manera eficiente y organizada
CONSTRUCTORES
La programación orientada a objetos es un paradigma de programación que se basa en la creación de clases y objetos para organizar y estructurar el código Una de las características fundamentales de la programación orientada a objetos es el uso de constructores.
Un constructor es un método especial dentro de una clase que se utiliza para inicializar los atributos de un objeto cuando este es creado.En PHP, un constructor es un método especial dentro de una clase que se llama automáticamente cuando se crea una nueva instancia de esa clase.
Los constructores en PHP se definen utilizando la palabra clave ` construct` seguida de paréntesis y llaves para encapsular el código que inicializa los atributos de la clase..
La principal función de un constructor es asignar valores iniciales a los atributos de un objeto. Esto permite que el objeto tenga un estado inicial definido al momento de su creación, lo que facilita su uso y manipulación en el programa.
Además de inicializar los atributos, un constructor también puede llevar a cabo otras tareas necesarias para la creación del objeto, como la validación de datos o la ejecución de ciertas operaciones.
Los constructores son útiles para inicializar el estado interno de un objeto y asegurar que esté listo para su uso inmediato Además, permiten establecer ciertas restricciones en la creación de objetos, como requerir ciertos parámetros para su inicialización.
Herencia
Una de las características clave de la POO es la herencia, que permite que una clase herede atributos y métodos de otra clase
La herencia es un concepto fundamental en la POO que permite la reutilización de código y la creación de jerarquías de clases. En la herencia, una clase hija puede heredar atributos y métodos de una clase padre, lo que significa que la clase hija puede aprovechar la funcionalidad existente de la clase padre y también agregar su propia funcionalidad única.
Por ejemplo, si tenemos una clase "Vehículo" con atributos como "marca", "modelo" y métodos como "acelerar" y "frenar", podemos crear una clase "Automóvil" que herede de la clase "Vehículo" y agregue sus propios atributos y métodos específicos, como "número de puertas" o "tipo de combustible"
La herencia en la POO nos permite crear una jerarquía de clases, donde las clases más específicas heredan de las clases más generales. Esto nos permite organizar y estructurar nuestro código de manera lógica y coherente, facilitando su mantenimiento y extensión en el futuro.
Un ejemplo común de herencia en la POO es el uso de una clase "Animal" como clase padre, con clases hijas como "Perro", "Gato" y "Pájaro" que heredan de ella. La clase "Animal" puede contener atributos y métodos comunes a todos los animales, mientras que las clases hijas pueden agregar su propia funcionalidad específica, como ladridos para el perro o maullidos para el gato.
Polimoformismo
Una de las características clave de la programación orientada a objetos es el polimorfismo, que permite que diferentes clases compartan el mismo nombre pero tengan comportamientos diferentes.
El polimorfismo en la programación orientada a objetos se refiere a la capacidad de un objeto de tomar muchas formas Esto significa que un objeto puede comportarse de diferentes maneras dependiendo del contexto en el que se encuentre. Por ejemplo, un método con el mismo nombre puede comportarse de manera diferente en diferentes clases.
En PHP, un ejemplo de polimorfismo sería la implementación de una interfaz en diferentes clases. Esto permite que cada clase tenga su propia implementación del método definido en la interfaz, lo que proporciona flexibilidad y reutilización de código.
Un ejemplo práctico del uso del polimorfismo en PHP sería la creación de una interfaz "FiguraGeometrica" con métodos como "calcularArea" y "calcularPerimetro", y luego la implementación de esta interfaz en clases concretas como "Cuadrado", "Círculo" y "Triángulo", cada una con su propia lógica para calcular el área y el perímetro según su forma específica.
Diferencias y Semejanzas entre Ocultación y Encapsulamiento de Datos.
En la programación orientada a objetos (POO), dos conceptos fundamentales son la ocultación y el encapsulamiento de datos. Aunque a menudo se usan indistintamente, tienen diferencias importantes pero también comparten similitudes en cuanto a su función dentro de la POO.
La ocultación de datos se refiere a la idea de que los detalles internos de un objeto no deberían ser visibles desde fuera de la clase a la que pertenece. Esto significa que los atributos y métodos internos de un objeto deben estar protegidos de accesos no autorizados. La ocultación se logra mediante el uso de modificadores de acceso, lo que impide que los datos sean modificados directamente desde fuera de la clase.
Por otro lado, el encapsulamiento de datos se refiere a la idea de agrupar los datos y los métodos que operan sobre esos datos en una sola unidad, es decir, en una clase. Esto permite controlar el acceso a los datos y garantizar que las operaciones sobre ellos se realicen de manera coherente. El encapsulamiento ayuda a evitar la manipulación directa de los datos y promueve el principio de "todo está encapsulado", lo que significa que cada clase debe ser responsable de sus propios datos y comportamientos.
En cuanto a las similitudes, tanto la ocultación como el encapsulamiento buscan proteger los datos y promover la integridad del objeto. Ambos conceptos contribuyen a la seguridad y robustez del código, ya que evitan que los datos sean modificados de manera inapropiada y promueven una interfaz clara y coherente para interactuar con los objetos.
A pesar de estas similitudes, es importante destacar que la ocultación se centra específicamente en restringir el acceso a los datos internos, mientras que el encapsulamiento abarca una visión más amplia al agrupar datos y métodos en una unidad coherente En resumen, la ocultación se refiere al control del acceso a los datos, mientras que el encapsulamiento se refiere a la organización y cohesión de esos datos dentro de una clase.
En conclusión, tanto la ocultación como el encapsulamiento son conceptos fundamentales en la programación orientada a objetos, ya que contribuyen a la seguridad, coherencia y mantenibilidad del código. Aunque tienen diferencias en cuanto a su enfoque, ambos juegan un papel crucial en el diseño y la implementación de sistemas basados en objetos.
M E T O D O L O G Í A
O R I E N T A D A A O B J E T O S
E N P H P .
La programación orientada a objetos en PHP es un paradigma de programación que se centra en la creación de objetos que contienen tanto datos como funcionalidad. PHP es un lenguaje de programación ampliamente utilizado en el desarrollo web, y la programación orientada a objetos es una parte fundamental de su sintaxis.
En la programación orientada a objetos, los objetos son instancias de clases que definen su estructura y comportamiento. Esto permite una mayor modularidad y reutilización de código, ya que los objetos pueden ser creados, modificados y utilizados en diferentes partes de una aplicación
PHP proporciona soporte completo para la programación orientada a objetos, incluyendo la definición de clases, la herencia, la encapsulación y la polimorfismo. Esto permite a los desarrolladores crear aplicaciones web más robustas y escalables, con un código más organizado y mantenible.
Algunos de los conceptos clave de la programación orientada a objetos en PHP incluyen la definición de clases y objetos, la herencia para la creación de nuevas clases basadas en clases existentes, el encapsulamiento para ocultar la implementación interna de un objeto, y el polimorfismo para permitir que diferentes clases implementen métodos con el mismo nombre pero comportamientos diferentes.
En resumen, la programación orientada a objetos en PHP es una herramienta poderosa que permite a los desarrolladores crear aplicaciones web más eficientes y fáciles de mantener
REFERENCIAS
Booch, G., Rumbaugh, J., & Jacobson, I. (2005). El lenguaje unificado de modelado AddisonWesley.
Meyer, B. (1997). Object-oriented software construction Prentice Hall.
Gamma, E., Helm, R., Johnson, R., & Vlissides, J (1995) Design patterns: Elements of reusable object-oriented software Addison-Wesley Professional
Larman, C. (2004). Applying UML and patterns: An introduction to object-oriented analysis and design and iterative development Pearson Education.
Shalloway, A., & Trott, J. R. (2019). Design patterns explained: A new perspective on object-oriented design. Addison-Wesley Professional