Kế thừa tái sử dụng mã

Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Mark Pedigo

Principal Data Scientist

Lộ trình

Lộ trình hiển thị phần đã hoàn thành và phần sẽ bắt đầu.

Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Ôn lại những gì bạn đã xây dựng

  • BasicCalculator()
    • Phép toán số học cơ bản
  • FinancialCalculator
    • Kế thừa từ BasicCalculator
    • Phương thức tính tài chính
class BasicCalculator:
  def multiply(self, x, y):
      result = x * y
      return result
  ...
# Child of BasicCalculator
class FinancialCalculator(BasicCalculator):
    def monthly_interest(self, annual_interest_rate):
        return self.divide(annual_interest_rate, 12)
    ...
Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Kế thừa tái sử dụng mã

  • Kế thừa để tái sử dụng mã
    • Tái sử dụng mã từ lớp cha
  • Hệ phân cấp lớp
    • Kế thừa từ lớp con đến lớp cháu
  • Cấu trúc linh hoạt
    • Xây dựng hệ phân cấp lớp linh hoạt, có tổ chức
Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Các kiểu kế thừa khác

  • Kế thừa đa cấp
    • Lớp kế thừa từ lớp con của lớp khác
    • Dùng trong nghiên cứu tình huống: BasicCalculatorFinancialCalculatorMortgageCalculator
  • Kế thừa phân cấp
    • Nhiều lớp cùng kế thừa từ một lớp cha
  • Đa kế thừa
    • Lớp kế thừa từ hai hay nhiều lớp không liên quan
Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Dùng super()

  • Gọi phương thức và thuộc tính của lớp cha
    • Dùng super() không cần nêu tên lớp cha
  • Xử lý kế thừa phức tạp
    • Tránh trùng lặp mã và lỗi trong hệ phân cấp lớp
class Animal:
    def __init__(self, name):
        self.name = name
class Dog(Animal):
    def __init__(self, name):
          # super calls __init__ 
          # method from parent class
          super().__init__(name)
Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Ayo berlatih!

Nghiên cứu tình huống: Xây dựng phần mềm bằng Python

Preparing Video For Download...