Page 126 - Em Học Python
P. 126

Ví dụ, em thử tưởng tượng một phần mềm cực lớn, như là một chương trình xử lý

               văn bản hay một game 3D chẳng hạn. Đa số mọi người sẽ gần như không thể hiểu nổi hết
               cả một chương trình đồ sộ như thế, vì đơn giản là có quá là nhiều code. Nhưng nếu ta chia

               nhỏ chương trình khổng lồ này ra thành nhiều phần nhỏ, mỗi phần lúc này sẽ dễ hiểu hơn

               phải không — tất nhiên là với điều kiện em phải hiểu ngôn ngữ đó rồi.


                       Khi phải viết một chương trình lớn như thế, chia nhỏ nó ra đồng thời cũng giúp em
               phân chia được công việc ra cho các lập trình viên khác. Những chương trình hết sức phức

               tạp em đang dùng hàng ngày (như trình duyệt web chẳng hạn) được rất nhiều người, nhiều

               nhóm ở nhiều nơi trên thế giới bỏ công sức ra cùng nhau viết đấy.


                       Giờ thử hình dung rằng em muốn mở rộng

                                                          ​
               thêm các lớp vừa viết lúc trước ( Animals, Mammals, và
                                                         ​
                                                                  ​
               Giraffes), nhưng lại quá là bận đi, em sẽ cần bạn bè
                         ​
               giúp đỡ. Ta có thể chia nhỏ việc code ra để người này
               viết cho lớp  Animals, người kia viết cho lớp  Mammals,
                                                                    ​
                                    ​
               người khác nữa thì viết cho lớp  Giraffes.
                                                         ​


                       THỪA KẾ HÀM


                       Nếu tinh ý một chút, em có thể sẽ nhận ra rằng trong số những người giúp em trên

               kia, bạn may mắn nhất là bạn được viết code cho lớp  Giraffes, vì bạn đó có thể dùng tất cả
                                                                               ​
               các hàm được viết bởi ai đó cho các lớp  Animals và Mammals. Lớp  Giraffes kế thừa  ⟨inherit⟩
                                                                                            ​
                                                                    ​
                                                                ​
                                                                                           ​
                                                                            ​
               tất cả hàm của lớp  Mammals, và lớp  Mammals lại kế thừa tất cả các hàm của lớp  Animals. Nói
                                                           ​
                                                                                                       ​
                                           ​
               cách khác, khi tạo ra một đối tượng thuộc lớp  Giraffes, đối tượng đó có thể sử dụng tất cả
                                                                        ​
               hàm của lớp  Giraffes cũng như tất cả
                                      ​
                                                 ​
               hàm của các lớp cha  Animals và Mammals.
                                             ​
                                                         ​
               Cùng cách diễn đạt như thế, nếu tạo ra
               một đối tượng của lớp  Mammals, đối tượng
                                               ​
               đó có thể dùng tất cả hàm của lớp  Mammals
               cũng như tất cả hàm của lớp cha  Animals.
                                                          ​



               100          Chương 8
                   ​
   121   122   123   124   125   126   127   128   129   130   131