Page 120 - Em Học Python
P. 120

Những đặc trưng này có thể hiểu tạm là các hành vi hoặc  các chức năng — là những

               thứ một đối tượng thuộc một lớp có thể làm được.


                       Để viết hàm cho lớp, ta cũng dùng từ khóa  def. Cho nên lớp  Animals lúc này sẽ
                                                                      ​
                                                                                            ​
               thành:

                   ​
                                    ​
                    ​
                          ​
                           ​
               >>> class Animals(Animate):
                                      ​
                         ​
                             ​
                              ​
                       def breathe(self):
                           pass
                              ​
                         ​
                                   ​
                       def move(self):
                             ​
                              ​
                           pass
                              ​
                                       ​
                         ​
                              ​
                             ​
                       def eat_food(self):
                              ​
                           pass
                       Dòng đầu tiên được dùng để định nghĩa lớp, ta đã làm lúc nãy rồi,
               nhưng ở dòng sau, thay vì dùng từ khóa  pass, ta đặt ra một hàm tên là
                                                             ​
                                                             ​
               breathe (thở) và đưa vào một tham số:  self. self là cách để một hàm có
                                                                  ​
                                                            ​
                        ​
               thể gọi hàm khác trong cùng một lớp (và lớp cha). Ta sẽ gặp lại tham số
               này ở cuối chương.
                       Ở dòng sau đó, từ khóa  pass là để nói rằng ta không có ý định viết thêm gì vào hàm
                                                   ​
               breathe nữa, vì hàm lúc này sẽ không làm gì hết. Tương tự như thế, ta viết thêm hàm  move
                        ​
               (đi) và eat_food (ăn), cũng ngồi chơi không như thế. Sắp tới ta sẽ sửa lại mấy lớp này và sẽ
                      ​
                                ​
               viết code chuẩn vào hàm sau. Đây là cách lập trình khá phổ biến. Thường thì lập trình viên
               sẽ tạo ra lớp với các hàm trống như thế trước để hình dung ra các lớp sẽ hoạt động như thế
               nào, rồi mới viết code cụ thể cho từng hàm sau.
                                                                                       ​
                       Ta cũng sẽ viết thêm vài hàm cho hai lớp còn lại là  Mammals và Giraffes. Các lớp
                                                                                   ​
                                                                                                 ​
               này cũng có những đặc trưng (tức là có thể chạy được các hàm) của các lớp cha. Như vậy,
               em không cần phải tạo ra một lớp siêu phức tạp; mà chỉ cần xác định một đặc điểm nằm ở
               lớp nào chung nhất (và cao nhất) rồi đặt hàm cần thiết vào lớp đó là được. (Bằng cách sắp

               xếp như thế, các lớp của em sẽ trở nên đơn giản và dễ hiểu hơn.)











               94          Chương 8
                  ​
   115   116   117   118   119   120   121   122   123   124   125