Hướng dẫn dùng abstraction python python
Show Đã đăng vào thg 6 18, 2019 4:28 CH 5 phút đọc Hello everyone! Sau bao khó khăn thì chúng ta lại được gặp nhau mọi người nhỉ. Và như thường lệ, mình sẽ giới thiệu với mọi người về nội dung của bài viết ngày hôm nay. Ở bài viết trước mình đã trình bày với mọi người về Class và Object trong Python. Và hôm nay, để tiếp tục thì mình sẽ đưa mọi người đến với một loại class rất quan trọng đó là Abstract class (lớp trừu tượng). Are you
ready? Here we go! Abstract class là gì?Một Abstract class có thể được coi là một bản thiết kế cho các class khác, cho phép bạn tạo một tập hợp các phương thức mà phải được tạo trong bất kỳ class con nào được xây dựng từ Abstract class của bạn. Một class có chứa một hoặc các phương thức abstract được gọi là một Abstract class. Một phương thức abstract là một phương thức có khai báo nhưng không
có bất kỳ triển khai nào. Các Abstract class không thể khởi tạo và nó cần các class con để triển khai cho các phương thức abstract được định nghĩa trong các Abstract class. Tại sạo phải sử dụng Abstract class?Các Abstract class cho phép bạn cung cấp chức năng mặc định cho các class con. Bằng cách định nghĩa một abstract base class (lớp cơ sở trừu tượng), bạn có thể xây dựng nên một mô hình chung cho một nhóm các class con. Khả năng này đặc
biệt hữu ích cho bạn khi làm việc trong một team lớn hoặc với dự án lớn, nơi mà bạn rất khó khăn hoặc không thể nào đưa mọi thứ vào trong một hoặc một nhóm các class nào đó. Lúc đó bạn cần có một mẫu class chung chứa các thứ cần thiết, sau đó thì chỉ cần implement nó vào để giải quyết thôi. Abstract Base classes (ABC)Mặc định trong Python sẽ không cung cấp Abstract class cho chúng ta sử dụng. Nhưng Python có một mô-đun gọi là Abstract Base Classes (ABC) để giúp chúng ta làm
điều đó. Mô-đun này nằm trong package abc nên chúng ta cần import vào trước khi sử dụng.
Từ khóa @abstractmethodVì Abstract class là một class, nên các bạn có thể hoàn toàn khai báo thuộc tính và phương thức như một class bình thường. Và để khai báo được phương thức abstract thì các bạn cần import thêm mô-đun abstractmethod cùng với từ khóa
Cú pháp khai báo Abstract class
Trên đây là cú pháp khai báo một abstract class cơ bản. Ở đây mình dùng từ khóa Ví dụ minh họaKết luậnNhư vậy là mình đã giới thiệu xong với các bạn một trong những class very very important trong Python rồi nhé. Qua đó mình xin tổng kết lại một số thứ như sau:
Cảm ơn các bạn đã cố gắng xem hết bài viết, chúc các bạn thành công. All rights reserved Tiếp tục với series, bài này mình sẽ giới thiệu với mọi người về Abstraction (Trừu tượng) trong Python. Đây là một trong bốn tính chất đặc trưng của hướng đối tượng, nhưng ở phần này mình sẽ không nhắc về lý thuyết nhiều, bạn nào cần thì có thể tham khảo tại đây. 1, Abtract class là gì?Abstract class là một class mà bên trong nó chứa một hoặc nhiều phương thức trừu tượng. Phương thức trừu tượng ở đây là một phương thức mà chúng ta chỉ được phép khai báo nó và không được phép viết code thực thi nó. Khi một class được khai báo ở dạng abstract thì nó sẽ không thể nào khởi tạo được, mà chỉ có thể khởi tạo được thông qua các class con của nó. Một class kế thừa lại abstract class thì phải khai báo lại toàn bộ các phương thức trừu tượng bên trong abstract class mà nó kế thừa. 2, Khai báo abstract class trong Python.Để có thể khai báo được một abstract class trong Python, thì class này bắt buộc phải được kế thừa từ một ABC (Abstract Base Classes) của Python Và để gọi được class này trong chương trình thì bạn phải import nó. Cú pháp import như sau:
Cú pháp khai báo abstract class:
Trong đó: ClassName là tên của abstract class mà bạn muốn khai báo. VD: Mình sẽ khai báo một lớp trừu tượng person.
Vì abstract class là một class, nên các bạn có thể hoàn toàn khai báo thuộc tính và phương thức như một class bình thường. 3, Khai báo phương thức abstract trong Python.Để có thể khai báo một abstract method - phương thức trừu tượng trong Python thì chúng ta cần phải import thêm module
Và một phương thức trừu tượng thì bắt buộc phải được khai báo ở trong lớp trừu tượng. Cú pháp:
Trong đó:
VD: Mình sẽ khai báo thêm phương thức trừu tượng
4, Các Ví Dụ.Đầu tiên, để chứng mình là abstract class không thể khởi tạo được một các trực tiếp
thì mình sẽ thử khởi tạo class
Ok nó đã báo lỗi. Bây giờ mình sẽ tạo một class và kết thừa lại
Nó vẫn báo lỗi, bây giờ ở class con này chúng ta sẽ khai báo lại method getFull và khởi tạo lại nó.
Lúc này chương trình đã không báo lỗi gì nữa. Bây giờ chúng ta sẽ gọi thử phương thức getFull xem sao.
OK, nó đã cho ra kết quả. 5, Lời kết.Như vậy phần này mọi người cần phải chú ý những điều sau:
|