Mixins
Reusable functionality through inheritance
Interview Relevant: Design patterns
Mixins
Add functionality via multiple inheritance.
Code Examples
Mixins for reusable functionality.
python
1class JsonMixin:
2 def to_json(self):
3 import json
4 return json.dumps(self.__dict__)
5
6class LogMixin:
7 def log(self, message):
8 print(f"[{self.__class__.__name__}] {message}")
9
10# Use mixins
11class User(JsonMixin, LogMixin):
12 def __init__(self, name, email):
13 self.name = name
14 self.email = email
15
16user = User("Alice", "alice@example.com")
17print(user.to_json()) # From JsonMixin
18user.log("Created") # From LogMixin
19
20# Mixin naming convention
21class SerializableMixin: pass
22class ComparableMixin: pass