Solución

@maiquez·hace 5dTypeScript
solution.tsTypeScript
from abc import ABC, abstractmethod


class LogMixin:
    # Agrega el método log_info() que retorna "[LOG] ClassName: self.name"
    def log_info(self):
        return f"[LOG] {type(self).__name__}: {self.name}"


class Entity(ABC):
    def __init__(self, name: str) -> None:
        self.name = name

    @abstractmethod
    def describe(self) -> str: ...


class User(LogMixin, Entity):
    def __init__(self, name: str, age: int) -> None:
        # Llama al constructor de Entity con super()
        super().__init__(name)
        # Guarda la edad
        self.age = age

    def describe(self) -> str:
        # Retorna la descripción del usuario
        return f"Usuario {self.name}, {self.age} años"


def test_mixin(name: str, age: int) -> dict:
    # Crea un User y retorna {"log": ..., "description": ...}
    user = User(name, age)
    return {"log": user.log_info(),"description": user.describe()}
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.