Incluso mecanismos un poco más avanzados como la herencia y el polimorfismo que son unas de las posibilidades más potentes de este paradigma de la programación. Aunque no es una manera muy correcta de hablar, nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenaremos los datos relacionados con los objetos. Por ejemplo, a partir de la clase “el coche” podemos crear un coche rojo que es de la marca Ford y modelo Fiesta, otro verde que es de la marca Seat y modelo Ibiza. Las características definidas en la clase las llamamos propiedades y las funcionalidades asociadas las llamamos métodos.

  • En POO, el énfasis está en la interacción entre los objetos y en la reutilización de código.
  • 💡 El primer y más importante concepto que tenemos que tener en cuenta a la hora de hablar de POO es la distinción entre clase y objeto.
  • En realidad, es imposible saber desde el propio método lo que se va a hacer con él.
  • Son las funcionalidades asociadas a los objetos, que son implantadas o programadas dentro de las clases.

Además del bloque try-except, Python también ofrece la posibilidad de lanzar excepciones manualmente utilizando la instrucción raise. Esto es útil cuando se desea indicar que ocurrió un error específico en el código. El bloque except es donde se especifica el tipo de excepción que se desea manejar.

Qué es la Programación Orientada a Objetos: los principales conceptos, explicados para todos los públicos

Por ejemplo, si tenemos una interfaz llamada «Reproducible» con un método «reproducir()», diferentes clases como «Canción» y «Película» pueden implementar esa interfaz y ser tratadas como objetos «Reproducibles». Una de las ¿Quieres conseguir el trabajo de tus sueños? Estudia un bootcamp de programación en línea ventajas del encapsulamiento es la capacidad de ocultar la complejidad interna de una clase. Esto permite que los desarrolladores puedan utilizar objetos sin necesidad de conocer cómo están implementados internamente.

  • Permite crear nuevas clases basadas en clases existentes, reutilizando el código y extendiendo su funcionalidad.
  • Cuando te embarcas en un viaje en el mundo de la programación orientada a objetos, es esencial tener un conocimiento exhaustivo de los recursos disponibles para apoyar tu progreso.
  • Por lo cual no es conveniente confiar en él para la realización de otras tareas más críticas.

La herencia en la programación orientada a objetos permite que una clase herede propiedades y comportamientos de otra clase. Esto significa que una clase hija puede aprovechar y extender las características de su clase padre, lo que promueve la reutilización de código y la creación de jerarquías de clases. La POO es un paradigma surgido en los años 1970, que utiliza objetos como elementos fundamentales en la construcción de la solución. Un objeto es una abstracción de algún hecho o ente del mundo real, con atributos que representan sus características o propiedades, y métodos que emulan su comportamiento o actividad. Todas las propiedades y métodos comunes a los objetos se encapsulan o agrupan en clases. Una clase es una plantilla, un prototipo para crear objetos; en general, se dice que cada objeto es una instancia o ejemplar de una clase.

Beneficios de aprender a programar

Los nuevos desarrollos, como el lenguaje JavaScript TypeScript, contrarrestan esta situación. Las tecnologías orientadas a objetos se emplean para escribir sistemas operativos, software comercial y de código abierto. Sin embargo, las ventajas de la programación orientada a objetos solo se ponen de manifiesto cuando el proyecto alcanza un cierto nivel de complejidad. El estilo de programación orientado a objetos sigue siendo uno de los paradigmas de programación predominantes. Una clase es una plantilla o modelo que define las características y comportamientos de un objeto.

  • El coche comparte información pública a través de las luces de freno o intermitentes para indicar los giros (interfaz pública).
  • Podría considerarse a PHP como un lenguaje de programación multipropósito, pero con los años se ha adaptado y usado ampliamente en el desarrollo web, ya que puede ser incrustado en HTML.
  • No es posible crear dos métodos sobrecargados con el mismo nombre y con el mismo tipo y número de parámetros que sólo difieran en el valor de retorno.
  • Se crea una clase Punto para representar un punto en el espacio de 2D, cuyos atributos sean las coordenadas (x, y).
  • Cuando una clase hereda de otra, puede redefinir los métodos heredados para adaptarlos a sus propias necesidades.

En esta analogía, una persona puede no estar satisfecha con la aceleración del auto y cambia la forma en que se produce, creando efectos secundarios que pueden hacer incluso con que el auto ni ande, por ejemplo. Aun usando la analogía del auto, sabemos que tiene atributos y métodos, es decir, características y comportamientos. Los métodos del auto, como acelerar, pueden usar atributos y otros métodos del auto, como el tanque de gasolina y el mecanismo de inyección de combustible, respectivamente, ya que acelerar consume combustible. A lo largo de la historia, han ido apareciendo diferentes paradigmas de programación. Lenguajes secuenciales como COBOL o procedimentales como Basic o C, se centraban más en la lógica que en los datos.

Excepciones

Además de heredar características, la herencia también permite establecer relaciones de tipo. Esto significa que un objeto de la subclase puede ser tratado como un objeto de la clase base, lo que facilita la creación de estructuras https://elpensante.com/un-curso-de-ciencia-de-datos-que-te-prepara-para-tu-nueva-vida-profesional/ y comportamientos más genéricos y flexibles. La encapsulación asegura que los detalles de implementación de una clase se mantengan ocultos del código externo, lo que garantiza la integridad de los datos y la seguridad del código.

orientado a objetos

En la POO, un atributo o método que no es visible desde afuera del mismo objeto se llama “privado” y cuando está visible, se llama “público”. Pueden comunicarse entre sí enviándose mensajes y colaborando para lograr un objetivo común. Por ejemplo, un objeto «Usuario» podría enviar un mensaje al objeto «Libro» para solicitar su préstamo, y este último respondería actualizando su estado interno. Con estas posibilidades podemos proteger los procesos de nuestro sistema tanto de los usuarios como de otros desarrolladores definiendo las posibilidades acceso de cada atributo y método.