Page 128 - Em Học Python
P. 128
Ta vừa mới tạo được một hàm kết hợp hai hàm khác, một việc rất hay gặp trong lập
trình. Thường thì là thế này, em viết ra một hàm để thực hiện việc gì đó, sau đó em sẽ dùng
hàm này bên trong một hàm khác. (Ta sẽ làm thế ở Chương 13 khi cần phải viết vài hàm
khá phức tạp cho game.)
Giờ thử dùng self để thêm vài hàm khác cho lớp Giraffes:
>>> class Giraffes(Mammals):
def find_food(self):
self.move()
print("I've found food!")
self.eat_food()
def eat_leaves_from_trees(self):
self.eat_food()
def dance_a_jig(self):
self.move()
self.move()
self.move()
self.move()
Ta có thể dùng các hàm eat_food và move của lớp cha Animals để
viết ra hai hàm eat_leaves_from_trees và dance_a_jig cho lớp Giraffes
vì chúng đều được thừa kế lại. Viết hàm rồi gọi hàm như thế này giúp ta về
sau khi tạo một đối tượng mới, ta chỉ cần gọi một hàm thôi trong khi vẫn
làm được nhiều việc cùng lúc. Em có thể thấy điều này khi ta gọi hàm
dance_a_jig như dưới đây — Reginal sẽ di chuyển 4 lần (ý là có 4 chữ moving đó):
>>> reginald = Giraffes()
>>> reginald.dance_a_jig()
moving
moving
moving
moving
102 Chương 8