La programación orientada a objetos (POO) es un paradigma de programación que permite a los desarrolladores modelar el mundo real de una forma eficiente y efectiva. Este enfoque se centra en crear "objetos" que representan entidades del mundo real, y puede ser una herramienta poderosa al crear videojuegos, plataformas, aplicaciones y más.
¿Cómo se utilizan las clases y los objetos?
Las clases son la base de la POO, actuando como planos o moldes para crear objetos. Al definir una clase, especificamos sus atributos (propiedades) y métodos (acciones). Un videojuego de fútbol, por ejemplo, puede tener clases para jugadores, con atributos como el color de la camiseta y métodos como correr o pasar.
Imagina que tienes que crear un equipo completo de jugadores en un videojuego. Cada jugador, como instancia de la clase "Jugador", puede tener diferentes características y comportamientos únicos, adaptándose a las necesidades del juego.
# Ejemplo en PythonclassJugador:def__init__(self, nombre, camiseta, velocidad): self.nombre = nombre
self.camiseta = camiseta
self.velocidad = velocidad
defcorrer(self):print(f"{self.nombre} está corriendo a {self.velocidad} m/s")# Crear un objeto (instancia de Jugador)jugador1 = Jugador("Juan","Rojo",5.5)jugador1.correr()
¿Qué es la herencia en POO?
La herencia permite crear nuevas clases basadas en clases existentes, reutilizando y extendiendo sus funcionalidades. Por ejemplo, un "Portero" podría heredar de la clase "Jugador", añadiendo atributos y métodos específicos para su rol. En un videojuego, esto puede simplificar la creación de diferentes roles sin duplicar código.
# Ejemplo de herenciaclassPortero(Jugador):def__init__(self, nombre, camiseta, velocidad, reflejos):super().__init__(nombre, camiseta, velocidad) self.reflejos = reflejos
defatajar(self):print(f"{self.nombre} hace una atajada con reflejos de {self.reflejos}")portero1 = Portero("Carlos","Verde",4.5,"altos")portero1.atajar()
¿Qué es el encapsulamiento?
El encapsulamiento permite ocultar y proteger datos dentro de un objeto, exponiendo solo lo que sea necesario a otros objetos. Esto ayuda a mantener la integridad del objeto y evitar accesos no autorizados o cambios en sus datos internos. En un videojuego, podrías querer ocultar la velocidad a la que un jugador corre para que no esté disponible para otras instancias.
# Ejemplo de encapsulamientoclassJugador:def__init__(self, nombre, camiseta, velocidad): self.nombre = nombre
self.camiseta = camiseta
self._velocidad = velocidad # Atributo privadodefget_velocidad(self):return self._velocidad
jugador2 = Jugador("Luis","Azul",6.2)print(jugador2.get_velocidad())# Acceso controlado a la velocidad
¿Cómo funciona el polimorfismo?
El polimorfismo permite que objetos diferentes respondan a un mismo método de maneras distintas. Los mensajes pueden ser interpretados según la implementación específica de cada objeto. En el contexto de un videojuego, el entrenador podría asignar una tarea a los jugadores, y cada uno la ejecutaría según su rol y atributos particulares.
# Ejemplo de polimorfismoclassJugador:defejecutar_tarea(self):pass# Método a ser definido por subclasesclassDelantero(Jugador):defejecutar_tarea(self):print("Delantero intenta anotar un gol.")classDefensa(Jugador):defejecutar_tarea(self):print("Defensa bloquea al oponente.")jugadores =[Delantero(), Defensa()]for jugador in jugadores: jugador.ejecutar_tarea()# Ejecuta acciones específicas de cada tipo de jugador
Animamos a aquellos interesados en la programación orientada a objetos a explorar más este fascinante paradigma. Conocer y aplicar estos conceptos te permitirá crear aplicaciones robustas y mantener un código organizado y eficiente. ¡Sigue aprendiendo, experimentando y creando en el mundo de la POO!
Conceptos Básicos de Programación Orientada a Objetos
Abstracción: Es cuando hacemos un análisis a nuestros elementos para obtener las características que tienen en común y así empezar a definir nuestras clases.
No es un aporte ( código), pero, me parece que, éste video lo tienen que ver muchos padres de familia. Por qué ? Porque, muchas veces ven a sus hijos jugar videojuegos(fifa); por lo que creen que es perder el tiempo. Me parece que si al niño le explicas cómo funciona la creación del videojuego ( lo que vemos en el video), el niño se podrá interesar desde muy temprano por la programación.
No todo videojugador es programador ni todo programador es videojugador. Es decir, que me guste jugar no quiere decir que me interese saber como esta hecho por dentro el juego. Me pasa con los coches, me gustan pero nada que me interesa saber el detalle de como se mueven. Por otro lado creo firmemente que pasar toda la tarde jugando en una consola si es perder el tiempo. Tanto lo creo que en lugar de estarme coronando por quinta vez con el Santos estoy aquí estudiando
Me gusta ejemplo de jugadores futbol para explicar que es programacion orientada a objetos. Ademas las graficas que aparezcan ayudan entender y memorizar mas. Una clase muy dinamica - esta energia motiva para aprender mas.
==Programación orientada a objetos== entandamos como funciona: en un ejemplo de crear un juego de fútbol.
Con la POO podemos hacer una abstracción de todo esto.
la Abstracción se llamara
Clase y esta se compondrá de:
==Atributos== serán todas las propiedades que corresponderán al objeto
==métodos== Son todas las acciones que tiene que hacer el objeto.
Que es un ==Objeto== un objeto es la base para POO los objetos serán las instancias de las clases lo que quiere decir que la clase sera el molde de lo que sera nuestro objeto.
En POO también podemos utilizar otro concepto que también es muy importante este es la herencia.
La ==herencia== nos ayudara a crear nuevas clases a partir de otras.
Otro concepto importante en POO es el
==encapsulamiento== este puede significar esconder algo.
Por ultimo
==polimorfismo== significa muchas formas, Es la capacidad de los objetos de diferentes clases para compartir el mismo método y responder a el de diferentes formas.
ejemplo:
considere una clase llamada Animal con un método llamado hacerSonido(). Este método podría anularse en las subclases para producir diferentes sonidos, como el ladrido de un perro o el maullido de un gato.
Así como este vídeo...en todos los cursos deberían hacer una intro a esto para generar la expectativa de cada persona y se adentre a llevar el curso. Sería excelente pienso yo.
Por otra parte...crep que este vídeo resume todo el curso de POO de la profesora 😅 (digo solo en la parte teórica).
Esta clase pertenecía al curso de POO en platzi, actualmente lo busco pero no lo encuentro, espero que traigan uno nuevo🙂. Debo decir que hasta ahora no he utilizado polimorfismo o sí, bueno creo que no, espero usarlo pronto 😁