Page 127 - Em Học Python
P. 127

​
                                                                         ​
                       Cùng nhìn lại mối quan hệ giữa các lớp  Animals, Mammals và Giraffes nhé. Lớp
                                                                                              ​
                                                                        ​
                                                                                 ​
               Animals là lớp cha của  Mammals, còn lớp  Mammals lại là lớp cha của  Giraffes.
                        ​
                                               ​
                                                                                             ​
                                                                 ​
                       Và mặc dù hươu Reginal vốn thuộc về lớp  Giraffes, nhưng ta vẫn có thể gọi hàm
                                                                           ​
               move thuộc về lớp  Animals, vì tất cả những hàm nào thuộc về lớp cha cũng sẽ thuộc về các
                                          ​
                    ​
               lớp con của nó.
                   ​
               >>> reginald = Giraffes()
                   ​
               >>> reginald.move()
               moving

                       Trên thực tế,  reginald có thể gọi tất cả hàm của các lớp  Animals và Mammals do các
                                                                                            ​
                                              ​
                                                                                        ​
                                                                                                    ​
               hàm này được thừa kế lại:
               >>> reginald = Giraffes()
                   ​
               >>> reginald.breathe()
                   ​
               breathing

               >>> reginald.eat_food()
                   ​
               eating food

                   ​
               >>> reginald.feed_young_with_milk()
               feeding young


                       HÀM NÀY GỌI HÀM KIA


                       Khi một đối tượng gọi hàm, ta dùng tên biến của đối tượng đó. Ví dụ để hươu Reginal
               gọi hàm  move thì phải làm như sau:
                             ​


                   ​
               >>> reginald.move()
                       Nhưng để một hàm bên trong lớp  Giraffes gọi được  move thì ta phải dùng tham số
                                                                                 ​
                                                                   ​
                     ​
               self. self là cách để hàm này có thể gọi hàm khác trong cùng một lớp. Giả sử ta viết thêm
                          ​
                    ​
               một hàm  find_food cho lớp  Giraffes:
                                                      ​
                                    ​
                   ​
                           ​
                          ​
                                     ​
               >>> class Giraffes(Mammals):
                    ​
                             ​
                              ​
                       def find_food(self):
                         ​
                                         ​
                           self.move()
                                                           ​
                           print("I've found food!")
                                    ​
                              ​
                                     ​
                           self.eat_food()
                                                                               Cách sử dụng lớp và đối tượng           101
   122   123   124   125   126   127   128   129   130   131   132