Phương thức phải gắn lên một vật thể cụ thể nào đó để có tác dụng
Hàm giúp ta làm một công việc nào đó. Công việc đó có thể liên quan tới một vật thể hoặc không. Còn phương thức chắc chắn phải làm những công việc liên quan tới một vật thể cụ thể. Phương thức cho ta biết mình có thể làm gì với vật thể đó.
Ví dụ, bạn có một rổ trái cây:
Bạn muốn cân khối lượng từng quả, nên bạn viết một phương thức cân_nặng()
giúp bạn cân chúng:
Bạn thấy, dù phương thức cân_nặng()
không thay đổi, nhưng đối với mỗi một loại trái cây khác nhau sẽ cho một kết quả khác nhau. Phương thức này phải gắn lên một đối tượng cụ thể nào đó để có tác dụng. Bạn phải không thể cân không gì cả được.
Trong khi đó, nếu bạn muốn biết ngày hôm nay là ngày gì, bạn chỉ cần dùng hàm xem_ngày()
:
Bạn thấy là công việc xem_ngày()
này không phụ thuộc vào vật thể nào. Dù bạn quyết định là sẽ ăn táo hay ăn lê thì kết quả cũng không thay đổi. Dù bạn không có vật thể nào bạn vẫn có thể xem ngày được.