Khác biệt giữa bản sửa đổi của “Giao thức (lập trình hướng đối tượng)”
Nội dung được xóa Nội dung được thêm vào
AlphamaEditor, Executed time: 00:00:06.2067948 using AWB |
|||
Dòng 15:
Nếu đối tượng được [[Đóng gói (lập trình máy tính)|đóng gói]] hoàn toàn thì giao thức sẽ mô tả cách duy nhất mà các đối tượng được truy xuất bởi các đối tượng khác.
Một số [[ngôn ngữ lập trình]] cung cấp hỗ trợ ngôn ngữ rõ ràng cho giao thức hay giao diện ([[Ada (ngôn ngữ lập trình)|Ada]], [[C Sharp (ngôn ngữ lập trình)|C#]], [[D (ngôn ngữ lập trình)|D]], [[Dart (ngôn ngữ lập trình)|Dart]], [[Embarcadero Delphi|Delphi]], [[Go (ngôn ngữ lập trình)|Go]], [[Java (ngôn ngữ lập trình)|Java]], [[Logtalk]], [[Object Pascal]], [[Objective-C]], [[PHP]], [[Racket (ngôn ngữ lập trình)|Racket]], [[Seed7]], [[Swift (ngôn ngữ lập trình)|Swift]]).
Mặc dù [[Go (ngôn ngữ lập trình)|ngôn ngữ lập trình Go]] thường không được xem là ngôn ngữ hướng đối tượng, nó vẫn cho phép phuiwong thức được định nghĩa bằng kiểu người dùng định nghĩa (''user-defined type''). Go có kiểu "giao diện" tương thích với bất cứ kiểu nào hỗ trợ một tập các phương thức (các kiểu này không yêu cầu phải hiện thực rõ ràng giao diện). Giao diện rỗng, <code>interface{}</code>, tương thích với tất cả các kiểu.
Lưu ý rằng ngôn ngữ [[lập trình hàm]] (''functional programming'') và [[lập trình phân tán]] (''distributed programming'') có một khái niệm cũng gọi là "giao thức", nhưng ý nghĩa có chút khác biệt (ví dụ một đặc tả cho phép ''trao đổi'' thông điệp, nhấn mạnh vào ''trao đổi'' chứ không phải vào nội dung thông điệp){{
# Các chuỗi được cho phép của thông điệp,
|