Phương thức Thông điệp (message) Đối tượng nhận thông điệp (receiver) Đối số của thông điệp (argument)

Một phần của tài liệu thực hành ngôn ngữ lập trình (Trang 73 - 74)

số của thông điệp (argument)

Một phương thức, nhưđã trình bày, có thể xem như một chương trình con được viết riêng cho một đối tượng. Tuy nhiên, chương trình con này, về lý thuyết, không được phép gọi trực tiếp từ bên ngòai đối tượng. Từ môi trường bên ngòai đối tượng, chỉ có thể tác động đến đối tượng bằng một thông điệp (message). Nếu một đối tượng nhận một thông điệp, nó sẽ trả lời bằng một phương thức thích hợp (nếu thông điệp mà đối tượng nhận được là thông điệp mà nó có khả năng trả lời). Về mặt lý thuyết, tên thông điệp và tên phương thức tương ứng dùng để trả lời thông điệp không cần phải giống nhau, tuy nhiên với ngôn ngữ Smalltalk, phương thức dùng để trả lời thông điệp sẽ có cùng tên với thông điệp.

Tên các thuộc tính của lớp Tên các phương thức của lớp

Tên lớp

Nội dung phương thức Thuộc tính

thường, thuộc tính lớp

Như vậy, khi môi trường tác động lên một đối tượng qua một thông điệp, có thể coi như đó là một lời gọi chương trình con (procedure - call), qua đó đối tượng sẽ thực thi phương thức tương ứng. Như vậy, nếu hiểu trên phương diện một phương thức là một chương trình con đặc biệt, thì cũng như các chương trình con bình thường, một phương thức cũng có thể có các thông số hình thức, và trong lời gọi chương trình con, tại nơi gọi phải truyền các thông số thực. Các thông số thực này được gọi là các đối số (argument) của thông điệp. Các đối số này cũng là các đối tượng khác.

Ví dụ: Xét câu lệnh Smalltalk như sau: 3 + 4.

Trong trường hợp trên đây, 3 và 4 là hai đối tượng, biểu hiện cho hai con số. Ký hiệu + là một thông điệp, và theo quy định của cú pháp Smalltalk, thông điệp trên được gởi cho đối tượng là số 3. Như vậy 3 là đối tượng nhận thông điệp. 4 là đối số của thông điệp này. Khi thực thi, đối tượng 3 sẽ gọi đến một phương thức tương ứng với thông điệp + và truyền đối số là 4, phương thức này sẽ thực hiện và cho ra kết quả. Tất nhiên, kết quả là 7.

Để thực thi đoạn ví dụ (trong trường hợp này chỉ là một dòng lệnh) trên, cũng như tất cả các đoạn mã ví dụ khác của phần này, hãy thực hiện theo trình tự sau (độc giả có thể xem phần 3 đểđược hướng dẩn kỹ hơn)

Tại vùng cửa sổ soạn thảo kịch bản (Transcript), đánh đọan mã ví dụ vào. Sau khi nhập xong đoạn script, chọn (highlight) đoạn mã cần thực thi, chọn mục Show It trong menu Smalltalk như trong hình dưới.

Nếu đoạn lệnh không sai cú pháp, kết quả sẽ hiện ra và được highlight ở cuối vùng mã được chọn.

Một phần của tài liệu thực hành ngôn ngữ lập trình (Trang 73 - 74)