Đóng gói có nghĩa là lưu trữ hoặc đặt dữ liệu ở một nơi duy nhất để làm cho dữ liệu dễ đọc và nhỏ gọn ở một nơi. Trong khi đó, trừu tượng hóa dữ liệu trong lập trình python có nghĩa là ẩn các chức năng bên trong đang hoạt động trên ứng dụng bằng cách sử dụng mã và chỉ hiển thị thông tin cần thiết [thuộc tính lớp]
Theo thuật ngữ trừu tượng hóa, chúng tôi muốn nói đến việc cung cấp tên cho mọi thứ để khi nhìn thấy tên đó, lập trình viên chịu trách nhiệm có thể hiểu ý tưởng về toàn bộ chương trình đang làm gì ở hậu trường.
Trừu tượng hóa và đóng gói trong Python
- Khi chúng tôi đang phát triển bất kỳ ứng dụng lớn hoặc doanh nghiệp nào. Sau đó, nên sử dụng các khái niệm về đóng gói dữ liệu và trừu tượng hóa dữ liệu trong phương pháp mã hóa
- Cả hai thuật ngữ khác nhau về nghĩa nhưng có liên quan gián tiếp với nhau
- Có hai loại phương pháp lập trình, lập trình thủ tục và lập trình hướng đối tượng
- Đóng gói và Trừu tượng hóa theo cách tiếp cận hướng đối tượng được thiết kế để viết mã dễ đọc và dễ đọc
- Đóng gói có nghĩa là lưu trữ mã của từng chức năng ở một nơi. Trong khi tính trừu tượng chịu trách nhiệm chỉ hiển thị thông tin không nhạy cảm cho người dùng bằng cách ẩn thông tin nhạy cảm
Ưu điểm của tính trừu tượng trong Python .
- Tính trừu tượng giúp giảm nỗ lực lập trình và giảm độ phức tạp mã hóa
- Nó được sử dụng để ẩn các chi tiết không mong muốn từ người dùng
- Nó cho phép tập trung vào khái niệm chính
Hãy thử tìm hiểu khái niệm trừu tượng trong lập trình python bằng một ví dụ thực tế.
Giả sử bạn làm việc trong lĩnh vực ngân hàng và một người đến hỏi bạn về việc mở tài khoản. Một người đang cung cấp cho bạn các chi tiết bên dưới để mở tài khoản.
Nhưng trên thực tế, không phải tất cả các thông tin được cung cấp là bắt buộc để mở tài khoản tại ngân hàng. Chúng tôi chỉ cần sử dụng thông tin hữu ích cần thiết để mở tài khoản tại ngân hàng. Đó là tên, địa chỉ, thông tin thuế, số liên lạc, v.v.
Các chi tiết có viền đỏ là đủ để mở tài khoản tại ngân hàng. Do đó, với mục đích này, khái niệm trừu tượng được sử dụng
Kết luận .
Trừu tượng hóa dữ liệu không có nghĩa là tránh lưu trữ dữ liệu, điều đó không cần thiết cho một số thao tác cụ thể. Là một lập trình viên, bạn nên xác định một phương pháp riêng biệt để lưu trữ dữ liệu ít quan trọng hơn để có thể sử dụng sau này khi cần.
Ví dụ xây dựng cách tiếp cận đóng gói và trừu tượng hóa dữ liệu trong Python
class Person: def __init__[self]: self.name = "Jack Matte" def bio[self]: self.addr = "Bakers street, London" self.taxInfo = "HUAPK29971" self.contact = "01-777-523-342" print[self.addr, self.taxInfo, self.contact] def interest[self]: self.favFood = "Chinese" self.hobbies = "Python Programming" self.bloodGroup = "A+" print[self.favFood, self.hobbies, self.bloodGroup] obj = Person[] print[obj.name] obj.bio[] obj.interest[]
Hiển thị đầu ra
Giải thích chi tiết .
- Không có khoa học tên lửa hoặc logic đặc biệt trong chương trình này
- Điều này chỉ để giúp bạn hình dung ý nghĩa thực sự của việc đóng gói và trừu tượng hóa dữ liệu
- Ở đây trong chương trình này, việc đóng gói mà chúng tôi đạt được bằng cách lưu trữ mã của từng mô-đun tại một vị trí cụ thể mà tôi. phương pháp khác nhau
- Sự trừu tượng hóa mà chúng ta đạt được bằng cách chia toàn bộ thông tin hoặc dữ liệu thành danh mục i. e. [ sinh học[] và sở thích[] ] so that it can be reused.
Quan trọng . Nhiều sinh viên luôn nhầm lẫn giữa thuật ngữ lớp trừu tượng và lớp trừu tượng. Ở đây lớp trừu tượng không giống như lớp trừu tượng trong python. Một lớp trừu tượng là một khái niệm khác. Tìm hiểu thêm về lớp Trừu tượng trong Python. Các lớp trừu tượng trong Python Cải thiện bài viết Lưu bài viết Thích bài viết
Cải thiện bài viết
Lưu bài viết
Một lớp trừu tượng có thể được coi là bản thiết kế cho các lớp khác. Nó cho phép bạn tạo một tập hợp các phương thức phải được tạo trong bất kỳ lớp con nào được xây dựng từ lớp trừu tượng. Một lớp chứa một hoặc nhiều phương thức trừu tượng được gọi là lớp trừu tượng. Một phương thức trừu tượng là một phương thức có khai báo nhưng không có phần thực hiện. Trong khi chúng tôi đang thiết kế các đơn vị chức năng lớn, chúng tôi sử dụng một lớp trừu tượng. Khi chúng tôi muốn cung cấp một giao diện chung cho các triển khai khác nhau của một thành phần, chúng tôi sử dụng một lớp trừu tượng.
Tại sao nên sử dụng Lớp cơ sở trừu tượng.
Bằng cách định nghĩa một lớp cơ sở trừu tượng, bạn có thể định nghĩa một Giao diện Chương trình Ứng dụng [API] chung cho một tập hợp các lớp con. Khả năng này đặc biệt hữu ích trong các tình huống mà bên thứ ba sẽ cung cấp các triển khai, chẳng hạn như với plugin, nhưng cũng có thể giúp ích cho bạn khi làm việc trong một nhóm lớn hoặc với một cơ sở mã lớn, nơi mà việc ghi nhớ tất cả các lớp là khó khăn .
Cách hoạt động của các lớp Cơ sở Trừu tượng.
Theo mặc định, Python không cung cấp các lớp trừu tượng. Python đi kèm với một mô-đun cung cấp cơ sở để xác định các lớp Cơ sở Trừu tượng [ABC] và tên mô-đun đó là ABC. ABC hoạt động bằng cách trang trí các phương thức của lớp cơ sở dưới dạng trừu tượng và sau đó đăng ký các lớp cụ thể dưới dạng triển khai của cơ sở trừu tượng. Một phương thức trở nên trừu tượng khi được trang trí bằng từ khóa @abstractmethod. Ví dụ –
mã 1
Python3
I can walk and run I can crawl I can bark I can roar23
I can walk and run I can crawl I can bark I can roar24
I can walk and run I can crawl I can bark I can roar25
I can walk and run I can crawl I can bark I can roar26____10
I can walk and run I can crawl I can bark I can roar1
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar3
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar5
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar8
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar12
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar14
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar16
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar8
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar45
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar48
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar16
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar8
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar09
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar32
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar16
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar8
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar233
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar236
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar16
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar8
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar247
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar249
I can walk and run I can crawl I can bark I can roar250
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar252
I can walk and run I can crawl I can bark I can roar253
I can walk and run I can crawl I can bark I can roar254
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar256
I can walk and run I can crawl I can bark I can roar257
I can walk and run I can crawl I can bark I can roar250
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar260
I can walk and run I can crawl I can bark I can roar253
I can walk and run I can crawl I can bark I can roar254
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar264
I can walk and run I can crawl I can bark I can roar257
Đầu ra.
I can walk and run I can crawl I can bark I can roar7
Mã 2.
Python3
I can walk and run I can crawl I can bark I can roar23
I can walk and run I can crawl I can bark I can roar24
I can walk and run I can crawl I can bark I can roar25
I can walk and run I can crawl I can bark I can roar26____10
I can walk and run I can crawl I can bark I can roar1
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar03
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar12
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar12
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar21
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar24
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar33
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar36
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar45
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar48
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar57
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar249
I can walk and run I can crawl I can bark I can roar250
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar63
I can walk and run I can crawl I can bark I can roar64
I can walk and run I can crawl I can bark I can roar254
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar67
I can walk and run I can crawl I can bark I can roar68
I can walk and run I can crawl I can bark I can roar250
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar71
I can walk and run I can crawl I can bark I can roar64
I can walk and run I can crawl I can bark I can roar254
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar75
I can walk and run I can crawl I can bark I can roar68
Đầu ra.
I can walk and run I can crawl I can bark I can roar
Triển khai thông qua phân lớp.
Bằng cách phân lớp trực tiếp từ cơ sở, chúng ta có thể tránh được việc phải đăng ký lớp một cách rõ ràng. Trong trường hợp này, quản lý lớp Python được sử dụng để nhận ra PluginImplementation là triển khai PluginBase trừu tượng.
Python3
I can walk and run I can crawl I can bark I can roar23
I can walk and run I can crawl I can bark I can roar78
I can walk and run I can crawl I can bark I can roar79
I can walk and run I can crawl I can bark I can roar0
I can walk and run I can crawl I can bark I can roar26
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar83
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar86
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar12
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar92
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar86
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar101
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar249
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44____1106
I can walk and run I can crawl I can bark I can roar107
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar110
I can walk and run I can crawl I can bark I can roar111
Đầu ra.
I can walk and run I can crawl I can bark I can roar1
Một tác dụng phụ của việc sử dụng phân lớp trực tiếp là có thể tìm thấy tất cả các triển khai plugin của bạn bằng cách yêu cầu lớp cơ sở cung cấp danh sách các lớp đã biết bắt nguồn từ nó.
Các phương thức cụ thể trong các lớp cơ sở trừu tượng.
Các lớp cụ thể chỉ chứa các phương thức cụ thể [bình thường] trong khi các lớp trừu tượng có thể chứa cả các phương thức cụ thể và phương thức trừu tượng. Lớp cụ thể cung cấp triển khai các phương thức trừu tượng, lớp cơ sở trừu tượng cũng có thể cung cấp triển khai bằng cách gọi các phương thức qua super[].
Hãy xem qua ví dụ để gọi phương thức sử dụng super[].
Python3
I can walk and run I can crawl I can bark I can roar112
I can walk and run I can crawl I can bark I can roar113
I can walk and run I can crawl I can bark I can roar0
I can walk and run I can crawl I can bark I can roar26
I can walk and run I can crawl I can bark I can roar25
I can walk and run I can crawl I can bark I can roar26____10
I can walk and run I can crawl I can bark I can roar1
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar121
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar124
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar130
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar133
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar124
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar140
I can walk and run I can crawl I can bark I can roar141
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar145
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar249
I can walk and run I can crawl I can bark I can roar148
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar150
I can walk and run I can crawl I can bark I can roar151
Đầu ra.
I can walk and run I can crawl I can bark I can roar4
Trong chương trình trên, chúng ta có thể gọi các phương thức trong lớp trừu tượng bằng cách sử dụng super[].
Thuộc tính trừu tượng.
Các lớp trừu tượng bao gồm các thuộc tính ngoài các phương thức, bạn có thể yêu cầu các thuộc tính trong các lớp cụ thể bằng cách định nghĩa chúng bằng @abstractproperty.
Python3
I can walk and run I can crawl I can bark I can roar23
I can walk and run I can crawl I can bark I can roar153
I can walk and run I can crawl I can bark I can roar0
I can walk and run I can crawl I can bark I can roar26
I can walk and run I can crawl I can bark I can roar25
I can walk and run I can crawl I can bark I can roar26____10
I can walk and run I can crawl I can bark I can roar1
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar161
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar163
I can walk and run I can crawl I can bark I can roar164
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar86
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar171
I can walk and run I can crawl I can bark I can roar172
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar92
I can walk and run I can crawl I can bark I can roar175
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar177
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar86
I can walk and run I can crawl I can bark I can roar9
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar171
I can walk and run I can crawl I can bark I can roar101
I can walk and run I can crawl I can bark I can roar186
I can walk and run I can crawl I can bark I can roar186
I can walk and run I can crawl I can bark I can roar188
I can walk and run I can crawl I can bark I can roar189
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar148
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar193
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar196
________ 1197 ________ 1198
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar401
I can walk and run I can crawl I can bark I can roar186
I can walk and run I can crawl I can bark I can roar148
I can walk and run I can crawl I can bark I can roar251
I can walk and run I can crawl I can bark I can roar405
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar407
Đầu ra.
I can walk and run I can crawl I can bark I can roar0
Trong ví dụ trên, lớp Cơ sở không thể được khởi tạo vì nó chỉ có một phiên bản trừu tượng của phương thức getter thuộc tính.
Khởi tạo lớp trừu tượng.
Các lớp trừu tượng không đầy đủ vì chúng có các phương thức không có ai. Nếu python cho phép tạo một đối tượng cho các lớp trừu tượng thì sử dụng đối tượng đó nếu bất kỳ ai gọi phương thức trừu tượng, nhưng không có triển khai thực tế nào để gọi. Vì vậy, chúng tôi sử dụng một lớp trừu tượng làm mẫu và theo nhu cầu, chúng tôi mở rộng nó và xây dựng trên nó trước khi chúng tôi có thể sử dụng nó. Vì lớp trừu tượng không phải là lớp cụ thể nên không thể khởi tạo được. Khi chúng ta tạo một đối tượng cho lớp trừu tượng, nó sẽ phát sinh lỗi.
Python3
I can walk and run I can crawl I can bark I can roar23
I can walk and run I can crawl I can bark I can roar409
I can walk and run I can crawl I can bark I can roar410
________ 325 ________ 326 ________ 10 ________ 2414
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar03
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar5
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar12
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar12
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar21
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar24
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar33
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar36
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar45
I can walk and run I can crawl I can bark I can roar46
I can walk and run I can crawl I can bark I can roar2
I can walk and run I can crawl I can bark I can roar48
I can walk and run I can crawl I can bark I can roar4
I can walk and run I can crawl I can bark I can roar7
I can walk and run I can crawl I can bark I can roar06______19
I can walk and run I can crawl I can bark I can roar10
I can walk and run I can crawl I can bark I can roar11
I can walk and run I can crawl I can bark I can roar43
I can walk and run I can crawl I can bark I can roar44
I can walk and run I can crawl I can bark I can roar57
I can walk and run I can crawl I can bark I can roar46
________ 2474 ________ 3251 ________ 2476
Đầu ra.
I can walk and run I can crawl I can bark I can roar3
Ghi chú cá nhân của tôi arrow_drop_up
Tiết kiệm