Phương thức trừu tượng Python là gì?
Các lớp cơ sở trừu tượng, được triển khai thông qua mô-đun abc của Python, cho phép bạn viết mã sạch hơn, an toàn hơn. Nhưng các lớp trừu tượng là gì và khi nào bạn cần chúng? Show
Tóm lại, các lớp cơ sở trừu tượng cho phép bạn triển khai các quy tắc xung quanh các lớp con. Điều này cho phép bạn định nghĩa các phương thức mà một lớp con phải có. Tương tự, nó cho phép bạn xác định các tham số mà một lớp con phải có Đến cuối hướng dẫn này, bạn sẽ học được những điều sau
Mục lục Hiểu các lớp cơ sở trừu tượng với Python abcPython triển khai các lớp trừu tượng thông qua thư viện Tất cả những điều này có vẻ nhiều – và hơi trừu tượng. Đối với tôi, cách đơn giản nhất để hiểu điều này là nghĩ về các lớp trừu tượng như là một khuôn khổ mà một lớp con phải có Hãy xem qua một ví dụ. Hãy tưởng tượng rằng chúng ta muốn định nghĩa một tập hợp các lớp cho nhân viên, cụ thể là cho người quản lý, người giám sát và nhân viên. Đối với những nhân viên này, tất cả nhân viên sẽ có thể đến nơi làm việc. Hãy xem cách chúng ta có thể định nghĩa cái này trông như thế nào
Tất cả các lớp này đều có các phương thức, về mặt chức năng, thực hiện cùng một việc – yêu cầu nhân viên bắt đầu làm việc. Tuy nhiên, nếu chúng ta muốn thực sự có đối tượng nhân viên xuất hiện tại nơi làm việc, chúng ta cần sử dụng ba triển khai khác nhau cho cùng một thứ Đây là nơi các lớp cơ sở trừu tượng phát huy tác dụng. Chúng ta có thể thực thi những phương thức nào được yêu cầu khi phân lớp bằng cách sử dụng mô-đun abc Python. Ví dụ: nếu chúng tôi biết rằng mỗi nhân viên cần phải đi làm, chúng tôi có thể xác định một phương thức trừu tượng để thực hiện việc này Bây giờ chúng ta đã phát triển một trường hợp tốt để sử dụng các lớp trừu tượng trong Python, hãy đi sâu vào cách thực hiện việc này bằng mô-đun abc của Python Cách sử dụng phương pháp trừu tượng với Python abcĐể tạo các lớp trừu tượng trong Python, chúng ta có thể sử dụng mô-đun abc tích hợp sẵn. Mô-đun cung cấp cả lớp
Chúng ta có thể thấy rằng bây giờ chúng ta có một lớp 0, kế thừa từ chính lớp ABC . Lớp chỉ có một phương thức duy nhất, được trang trí bằng cách sử dụng trình trang trí 2. Bản thân phương thức này không làm gì ngoài việc chấp nhận từ khóa 3 làm đối số. Phần này quan trọng. phương pháp không nên làm bất cứ điều gì ngoại trừ tồn tạiBây giờ khi chúng ta tạo các lớp con của lớp 0, các lớp này sẽ cần phải có một phương thức tên là 5. Hãy xem điều gì sẽ xảy ra khi chúng ta tạo một lớp con với một phương thức khác
Khởi tạo lớp 6 của chúng tôi sẽ tăng một 7 vì chúng tôi không có phương thức 5. Hãy xem cách chúng tôi có thể giải quyết vấn đề này
Khi chúng tôi chạy mã ở trên, không có lỗi nào được nêu ra. Điều này là do chúng ta có phương thức được đặt tên chính xác Hãy nhớ từ phần trước trong hướng dẫn rằng việc triển khai phương thức trừu tượng tùy thuộc vào chính lớp con. Do đó, chúng ta có thể có các triển khai khác nhau của các phương thức này để thực hiện các tác vụ khác nhau - miễn là chúng có tên chính xác. Hãy xem nó trông như thế nào
Chúng ta có thể thấy trong ví dụ trên, mã chạy tốt. Điều này là do cả hai lớp con đều có tên chính xác - ngay cả khi cách triển khai của chúng khác nhau Trong phần sau, bạn sẽ tìm hiểu cách thêm tham số vào một Cách thêm tham số vào phương thức trừu tượng trong Python abcĐiều tuyệt vời về trình trang trí Ví dụ: nếu bạn cần phương thức 5 để chuyển thời gian vào, thì bạn có thể thực hiện việc này bằng cách sử dụng trình trang trí abstractmethod . Hãy xem nó trông như thế nào
Trong đoạn mã trên, chúng ta sử dụng lớp ABC để tạo một lớp cơ sở trừu tượng. Phương thức trong lớp có một tham số bổ sung, 3. Cả hai lớp con đều có tham số này và bắt buộc phải có tham sốĐiều thú vị là lớp con 4 thực sự có một tham số bổ sung. Lớp con chỉ yêu cầu các tham số được định nghĩa trong chính lớp trừu tượng, nhưng cũng có thể có các tham số bổ sungCách thêm thuộc tính vào các lớp cơ sở trừu tượng trong PythonTrong phần này, bạn sẽ học cách thêm các thuộc tính vào các lớp cơ sở trừu tượng. Điều này cho phép bạn đảm bảo rằng các thuộc tính nhất định được thiết lập khi tạo một lớp cơ sở trừu tượng. Quá trình này liên quan nhiều hơn một chút, vì vậy hãy xem một ví dụ
Trong ví dụ trên, chúng tôi sử dụng trình trang trí 5 để đảm bảo rằng các mục được gắn nhãn là thuộc tính. Chúng tôi cũng cần cung cấp các phương thức setter để đảm bảo rằng chúng hoạt động. Lưu ý rằng chúng tôi triển khai thuộc tính trước khi xác định setterSau đó, trong lớp con, chúng tôi thực hiện theo một phương pháp tương tự để xác định các mục này. Miễn là các thuộc tính và phương thức của chúng ta có tên chính xác, lớp con sẽ kế thừa một cách thích hợp Phần kết luậnTrong hướng dẫn này, bạn đã học cách sử dụng mô-đun abc Python để tạo các lớp cơ sở trừu tượng, đóng vai trò là bản thiết kế cho các lớp con bổ sung. Lần đầu tiên bạn tìm hiểu lý do tại sao khái niệm lớp trừu tượng lại quan trọng. Sau đó, bạn đã học cách sử dụng lớp ABC từ mô-đun abc để tạo khung lớp trừu tượng Từ đó, bạn đã học cách định nghĩa các phương thức trừu tượng bằng cách sử dụng trình trang trí phương thức trừu tượng. Bạn cũng đã học cách yêu cầu các tham số nhất định cho các phương thức của lớp con. Cuối cùng, bạn cũng đã học cách đặt thuộc tính cho bất kỳ lớp con nào của lớp cơ sở trừu tượng Việc sử dụng phương pháp trừu tượng là gì?Trong bất kỳ ngôn ngữ lập trình nào, tính trừu tượng có nghĩa là ẩn người dùng khỏi những chi tiết không liên quan để chỉ tập trung vào những chi tiết thiết yếu nhằm tăng hiệu quả, từ đó giảm độ phức tạp . Trong Java, sự trừu tượng đạt được bằng cách sử dụng các lớp và phương thức trừu tượng.
Tại sao nên sử dụng các phương thức trừu tượng trong Python?Trong Python, các lớp cơ sở trừu tượng cung cấp bản thiết kế cho các lớp cụ thể . Chúng không chứa triển khai. Thay vào đó, chúng cung cấp một giao diện và đảm bảo rằng các lớp cụ thể dẫn xuất được triển khai đúng cách.
Thuộc tính trừu tượng Python là gì?Các lớp trừu tượng đảm bảo rằng các lớp dẫn xuất triển khai các phương thức và thuộc tính được định nghĩa trong lớp cơ sở trừu tượng. Lớp cơ sở trừu tượng không thể được khởi tạo. Chúng tôi sử dụng @abstractmethod để định nghĩa một phương thức trong lớp cơ sở trừu tượng và kết hợp @property và @abstractmethod để định nghĩa một thuộc tính trừu tượng
Phương pháp trừu tượng là gì?Các phương thức trừu tượng là những loại phương thức không yêu cầu triển khai khai báo . Các phương thức này không có phần thân có nghĩa là không thực hiện. Một vài thuộc tính của một phương thức trừu tượng là. Một phương thức trừu tượng trong Java được khai báo thông qua từ khóa “abstract”. |