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

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}")