Asume que tieness una apliación con 150 clases que son llamadas dinámicamente a través de un archivo controlador en la raíz del sistema de archivos de tu aplicación. Todas las 150 clases siguen la nomenclatura class.classname.inc.php y reside en la carpeta inc de tu aplicación. Otro beneficio de la POO es cómo de bien se presta a ser fácilmente empaquetado y catalogado. Cada clase puede ser contenida generalmente dentro de su propio archivo por separado, y si se usa una nomenclatura uniforme, acceder a las clases es extremadamente simple.
Las propiedades o atributos son las características de los objetos o ejemplares de una clase. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Sin embargo, tener conocimientos básicos de programación puede ser beneficioso para comprender mejor los conceptos del modelado orientado a objetos. Un conocimiento básico de programación puede ayudar a entender cómo se implementan los objetos y cómo se comunican entre sí en un lenguaje de programación específico. En el modelado orientado a objetos, las clases no existen de forma aislada, sino que interactúan entre sí a través de relaciones.
POO: ¿Qué es la programación orientada a objetos?
La herencia es un concepto en la programación orientada a objetos que permite que una clase herede atributos y métodos de otra clase. La clase que hereda se conoce como «subclase» y la clase de la que se hereda se conoce como «superclase» o «clase base». La programación orientada a objetos es una metodología de programación que ofrece numerosos beneficios a los desarrolladores.
- Es una entidad concreta que puede tener su propio estado (valores de atributos) y comportamiento (métodos).
- Esto permite que diferentes objetos de diferentes clases puedan ser tratados de manera uniforme si comparten algún tipo de relación.
- La programación orientada a objetos nos permite manejar excepciones de manera más estructurada y personalizada.
- La programación orientada a objetos es un paradigma en el que resolvemos problemas pensando en ellos como objetos.
- En la etapa de diseño, ayudan a definir la estructura del sistema y las interacciones entre sus componentes.
Por ejemplo vamos a pensar en un coche para tratar de modelizarlo en un esquema de POO. Durante años, los programadores se han dedicado a construir aplicaciones muy parecidas que resolvían una y otra vez los mismos problemas. Para conseguir que los esfuerzos de los programadores puedan ser reutilizados se creó la posibilidad de utilizar módulos. El primer módulo existente fue la función, que somos capaces de escribir una vez e invocar cualquier número de veces. Teniendo cada clase en un archivo separado también hace el código más portable y más fácil de reusar en aplicaciones nuevas sin un montón de copia y pega.
¿Qué es un lenguaje de programación orientado a objetos?
Siguiendo el ejemplo de los animales, puede emplearse una única clase de animal y añadir un atributo de tipo de animal que especifique el tipo de animal. Los distintos tipos de animales requerirán diferentes métodos, por ejemplo, los reptiles deben poder poner huevos y los peces bootcamp de programación nadar. Incluso si los animales disponen de un método en común, como moverse, la implementación requeriría muchas declaraciones “si” para garantizar el comportamiento de movimiento idóneo. Así, la abstracción está basada en utilizar cosas simples para representar la complejidad.
En comparación con un lenguaje imperativo, una “variable” no es más que un contenedor interno del atributo del objeto o de un estado interno, así como la “función” es un procedimiento interno del método del objeto. Para mandar mensajes a los objetos utilizamos el operador punto, seguido del método que deseamos invocar y los paréntesis, como https://www.diginota.com/el-mejor-bootcamp-de-programacion-en-el-mundo-por-que-elegir-tripleten-para-entrar-en-ti/ en las llamadas a las funciones. Con la palabra “new” se crea una nueva instancia de coche, un objeto concreto de la clase coche y ese objeto se almacena en la variable “miCoche”. A partir de una clase puedo crear ejemplares (objetos) de esa clase, que tendrán por tanto las características y funcionalidades definidas en esa clase.
