You want to create an abstract base class 'Logger' with an abstract method 'log' that accepts a message string. Then create a subclass 'ConsoleLogger' that prints the message. Which code correctly implements this?
Afrom abc import ABC, abstractmethod
class Logger(ABC):
@abstractmethod
def log(self, message):
pass
class ConsoleLogger(Logger):
def log(self, message):
print(message)
Bfrom abc import ABC
class Logger(ABC):
def log(self, message):
pass
class ConsoleLogger(Logger):
def log(self):
print(message)
Cfrom abc import ABC
class Logger:
@abstractmethod
def log(self, message):
pass
class ConsoleLogger(Logger):
def log(self, message):
print(message)
Dfrom abc import ABC, abstractmethod
class Logger(ABC):
@abstractmethod
def log(self):
pass
class ConsoleLogger(Logger):
def log(self, message):
print(message)
Step-by-Step Solution
Solution:
Step 1: Define abstract base class with correct decorator and method signature
Logger inherits ABC and uses @abstractmethod on 'log' with 'message' parameter.