這相對於提取類別是個反向操作,會用到它的時機有二:

Inline Class
- 類別因重構而空無一物
- 產生一對不同功能類別前的暫時做法
# Before
class Email:
def __init__(self, address):
self.address = address
def print_email(self):
print(f"Email: {self.address}")
class Contact:
def __init__(self, name, email):
self.name = name
self.email = Email(email)
def print_contact_details(self):
print(f"Name: {self.name}")
self.email.print_email()
# After
class Contact:
def __init__(self, name, email):
self.name = name
self.email = email
def print_contact_details(self):
print(f"Name: {self.name}")
print(f"Email: {self.email}")