Chúc mừng

Nhập môn Lập trình Hướng đối tượng với Python

George Boorman

Curriculum Manager, DataCamp

Lớp và đối tượng

Thuật ngữ Định nghĩa
Lớp Một bản thiết kế/mẫu dùng để xây dựng đối tượng
Đối tượng Sự kết hợp giữa dữ liệuchức năng; Một thể hiện của một lớp
Nhập môn Lập trình Hướng đối tượng với Python

Thuộc tính và phương thức

Thuật ngữ Định nghĩa
Lớp Một bản thiết kế/mẫu dùng để xây dựng đối tượng
Đối tượng Sự kết hợp giữa dữ liệuchức năng; Một thể hiện của một lớp
Trạng thái Dữ liệu liên kết với một đối tượng, được gán thông qua thuộc tính
Hành vi chức năng của một đối tượng, được định nghĩa thông qua phương thức
Nhập môn Lập trình Hướng đối tượng với Python

Các khái niệm cốt lõi

Đóng gói:

  • Gộp dữ liệu và phương pháp

Kế thừa:

  • Mở rộng chức năng của mã hiện có

Đa hình:

  • Tạo giao diện thống nhất
Nhập môn Lập trình Hướng đối tượng với Python

So sánh

Toán tử Phương thức
== __eq__()
!= __ne__()
>= __ge__()
<= __le__()
> __gt__()
< __lt__()
Nhập môn Lập trình Hướng đối tượng với Python

Chuỗi biểu diễn

__str__()

  • print(obj), str(obj)
print([1,2,3])
[1 2 3]
str([1,2,3])
'[1, 2, 3]' 
  • không trang trọng, dành cho người dùng cuối
  • string biểu diễn

__repr__()

  • repr(obj), in ra trên console
repr([1,2,3])
[1,2,3]
[1,2,3]
[1,2,3]
  • trang trọng, dành cho nhà phát triển
  • reprbiểu diễn reprcó thể tái tạo
  • phương án dự phòng cho print()
Nhập môn Lập trình Hướng đối tượng với Python

Xử lý lỗi

class BalanceError(Exception): 
    pass

class Customer: def __init__(self, name, balance): if balance < 0 : raise BalanceError("Balance has to be non-negative!") else: self.name, self.balance = name, balance
# Use try-except to catch errors try: cust = Customer("Larry Torres", -100) except BalanceError: cust = Customer("Larry Torres", 0)
Nhập môn Lập trình Hướng đối tượng với Python

Tiếp theo ở đâu?

  • Kế thừa đa lớp
  • Bộ mô tả
  • Thuộc tính tùy chỉnh
  • Bộ lặp tùy chỉnh
  • Kiểu gợi ý
  • Lớp cơ sở trừu tượng
Nhập môn Lập trình Hướng đối tượng với Python

Hãy luyện tập!

Nhập môn Lập trình Hướng đối tượng với Python

Preparing Video For Download...