PHP: Métodos Mágicos I

Métodos mágicos Son funciones definidas por PHP, las cuales el programador se encarga de definir la implementación. Sin embargo, el llamado de estas funciones ocurre cuando sea necesario y no puede ser llamadas directamente. Todas inician con una doble barra horizontal (__). Los métodos mágicos conocidos anteriormente son: Constructor de un objeto: __construct() Destructor de […]

Atributos y Métodos Estáticos

Hasta ahora se ha visto atributos y métodos que pertenecen a los objetos, es decir, que mantiene su estado y comportamiento a ese nivel. Es posible que se quiera tener accesos a nivel de clase, es decir, estados que sean compartidos a través de distintos objetos de una misma clase. https://gist.github.com/senquevila/fd62b3972ac4d7456d34b132ac2ecd7f Un ejemplo común es […]

Interfaces

Se vio anteriormente que las clases abstractas permiten generar funciones que no necesitan implementarse por la clase padre. Las interfaces actúan de forma similar, pero difieren en que todos sus métodos no se implementan. Esto implica que una interface se encarga de definir el comportamiento de las clases que la implementen. Problema Se ha definido las siguientes […]

Clases abstractas

Una clase abstracta permite definir métodos evitando implementarlos, dejando esa tarea a las subclases. Cuando se crea una clase abstracta se da por sentado que se obliga a heredar, esto es debido a que una clase abstracta no puede crear objetos por si mismo. Características Las clases definidas como abstractas no se pueden instanciar. Un método abstracto […]

PHP: Herencia

Herencia La herencia permite la reutilización de código, estableciendo una clase como base de otras, la cuales tomarán elementos de ésta para usarlos o redefinirlos. Para declarar que una clase B hereda de una clase A utilizamos la palabra extends. Con esto se heredan los atributos y métodos que sean públicos y protegidos. <?php // Clase Padre […]

PHP: Declaración de Clases y Objetos

Clases y objetos Para definir una clase utilizamos la palabra class. Los nombres de clases utilizan StudlyCaps. Por ejemplo: la clase alumno becado se nombrará AlumnoBecado. El nivel de acceso de los atributos y métodos deben ser declarada siempre; los modificadores abstract y final deben ir antes que los niveles de acceso; static debe ser […]

Objetos: Conceptos pilares

Abstracción Operación intelectual que ignora selectivamente partes de un todo para facilitar su comprensión. Abstracción en la resolución de problemas: Ignorar detalles específicos buscando generalidades que ofrezcan una perspectiva distinta, más favorable a su resolución [1].  Aislando un elemento de su contexto o del resto de los elementos que lo acompañan. En Programación, el término […]

Objetos: Ventajas y Desventajas

Como cualquier paradigma existen ventajas y desventajas para la resolución de problemas. No existe un paradigma perfecto, y es una necesidad de los programadores verificar para qué situaciones son adecuados. Ventajas Algunas de las ventajas de la programación orientada a objetos son los siguientes: Los componentes se pueden reutilizar. Facilidad de mantenimiento y modificación de […]

Paradigmas de Programación

¿Qué es un paradigma de Programación? Paradigma debe ser concebido como un conjunto de métodos, reglas y generalizaciones utilizadas conjuntamente por aquellos entrenados para realizar el trabajo científico de investigación… Los paradigmas de programación nos indican las diversas formas que, a lo largo de la evolución de los lenguajes, han sido aceptadas como estilos para […]

Breve Historia de la Programación Orientada a Objetos

Historia En el Centro de Cálculo Noruego, un equipo de investigación, liderado por Krinsten Nygaard, tuvo problemas en el desarrollo de simulaciones de sistemas físicos, como el caso de simular el funcionamiento y rendimiento de un motor. Se dieron dos problemas en este punto: Los programas eran muy complejos. Las modificaciones, al ser una simulación, […]