Tôi đang viết một lời giải thích cho một số mã cho một khóa học, và đã vô tình sử dụng các từ method
và function
hoán đổi cho nhau. Tôi quyết định quay trở lại và sửa chữa từ ngữ, nhưng chạy vào một lỗ hổng trong sự hiểu biết của tôi.
Theo những gì tôi hiểu, chương trình con là function
nếu nó không hoạt động trên một thể hiện của một lớp (hiệu ứng của nó bị hạn chế đối với đầu vào / đầu ra rõ ràng của nó) và là method
nếu nó hoạt động trên một thể hiện của một lớp (nó có thể mang tác dụng phụ trên trường hợp làm cho nó không tinh khiết).
Có một cuộc thảo luận tốt ở đây về chủ đề này. Lưu ý rằng theo định nghĩa của câu trả lời được chấp nhận, một tĩnh method
thực sự phải là một hàm vì một thể hiện không bao giờ được truyền hoàn toàn và nó không có quyền truy cập vào bất kỳ thành viên nào.
Mặc dù vậy, đây không phải methods
là chức năng?
Theo định nghĩa của họ, họ không hành động theo các trường hợp cụ thể của một lớp; họ chỉ "gắn" với lớp vì mối quan hệ. Mặc dù vậy , tôi đã thấy một vài trang web ưa nhìn coi các chương trình con tĩnh là "phương thức" ( Oracle , Fredosaurus , Lập trình đơn giản ), vì vậy tất cả chúng đều nhìn vào thuật ngữ hoặc tôi thiếu một cái gì đó (tôi đoán là cái sau) .
Tôi muốn chắc chắn rằng tôi đang sử dụng từ ngữ chính xác.
Bất cứ ai có thể làm rõ điều này?