Solución
solution.tsTypeScript
class Animal:
pass
class Dog(Animal):
pass
class Cat(Animal):
pass
def check_inheritance(obj_type: str) -> dict:
# Crea la instancia según obj_type y retorna las comprobaciones
# {"is_animal": bool, "is_dog": bool, "is_cat": bool}
is_animal, is_dog, is_cat = False, False, False
if obj_type == "dog":
animal = Dog()
elif obj_type == "cat":
animal = Cat()
elif obj_type == "animal":
animal = Animal()
else:
return "Wrong animal"
if isinstance(animal, Animal):
is_animal = True
if isinstance(animal, Dog) and issubclass(Dog, Animal):
is_dog = True
elif isinstance(animal, Cat) and issubclass(Cat, Animal):
is_cat = True
return {"is_animal": is_animal, "is_dog": is_dog, "is_cat": is_cat}0respuestas