Codigo de herencia POO Flashcards

1
Q

¿Qué es polimorfismo?

A

permite que objetos de diferentes tipos sean tratados de manera uniforme a través de una interfaz común.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿en qué se basa el polimorfirmo para funcionar?

A

basa en la herencia y las interfaces; puede sobreescribir metodos de la clase padre para proporcionar su propia implementacion.
aunque varias clases pueden tener un método con el mismo nombre, cada una de ellas puede ejecutar una implementación diferente de ese método.
ej: perros y gatos, hacer_sonido haria que uno ladre y otro maulle sin hacer
maullar_self y ladrar_self?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

considera una jerarquía de clases que incluye una clase Animal y dos clases derivadas Perro y Gato. Cada una de estas clases podría tener su propio método hacer_sonido(). Aunque los métodos se llaman igual, la implementación de cada clase es diferente:

A

class Animal:
def hacer_sonido(self):
pass

class Perro(Animal):
def hacer_sonido(self):
return “Guau”

class Gato(Animal):
def hacer_sonido(self):
return “Miau”

En este ejemplo, tanto Perro como Gato son subclases de Animal, y ambas sobrescriben el método hacer_sonido(). Cuando se llama al método hacer_sonido() en instancias de estas clases, se ejecutará la implementación específica de cada clase.
El polimorfismo permite escribir código más genérico y flexible, ya que puedes tratar objetos de diferentes clases de manera uniforme si implementan la misma interfaz.
Por ejemplo, podrías tener una lista de objetos Animal que incluye tanto perros como gatos, y podrías iterar sobre ellos y llamar al método hacer_sonido() sin preocuparte por el tipo específico de animal.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

que es la encapsulacion en poo

A

ocultar los detalles internos de una clase y proporcionar una interfaz bien definida para interactuar con ella; se logra con modificadores de acceso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

como son los modificadores de acceso en python (related a encapsulacion)

A

public: sin guion bajo, accesibles
protegido: un solo guion bajo al principio, no se deberían acceder directamente desde fuera de la clase, pero no hay una restricción rigida
privado: dos guiones bajos al principio se consideran privados y su acceso desde fuera de la clase se desaconseja fuertemente

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

como se puede acceder a los modificadores privados

A

con un nombre ligeramente diferente debido a la transformación del nombre conocida como “name mangling”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ejemplo de modificadores

A

class MiClase:
def __init__(self):
self.publico = “Este es un atributo público”
self._protegido = “Este es un atributo protegido”
self.__privado = “Este es un atributo privado”

print(objeto.publico)
print(objeto._protegido)
# print(objeto.__privado) # Esto daría un error

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly