Vì vậy, ... tôi đã thực hiện một nghiên cứu nhỏ. Điều gì sau đây là một bài học lịch sử nhỏ cho những người quan tâm. :) Bỏ qua kết luận ở phía dưới nếu bạn chỉ quan tâm đến câu trả lời.
1967 :
SIMULA 67 , ngôn ngữ lập trình hướng đối tượng đầu tiên định nghĩa các từ khóa là lớp , đối tượng , gọi theo tham chiếu , gọi theo giá trị và ảo .
Hệ thống thừa kế của SIMULA ban đầu được biết đến bằng một tên khác, ghép nối (và sau này được gọi là tiền tố ), đề cập đến thực tế là mã của các siêu kiểu đã được sao chép và 'ghép' với mã của các kiểu con. Sau đó, một hình thức khác của hệ thống thừa kế đã xuất hiện, ủy quyền , trong đó các cuộc gọi được ủy quyền bằng cách tham chiếu đến loại chính xác.
Ảo rất có thể đề cập đến quá trình cần được thực hiện để gửi một cuộc gọi đến việc thực hiện chính xác bằng cách sử dụng bảng phương thức ảo . Đó là ảo so với việc thực hiện cố định / cụ thể.
1971 :
Niklaus Wirth, viết về một khái niệm được định nghĩa là Tinh chỉnh từng bước . Nó cơ bản giải thích làm thế nào để phân chia một chương trình trong các giải pháp một phần mà trên đó có thể được mở rộng.
1974 :
Đây là giấy sớm nhất tôi thấy mà tiền xu thuật ngữ trừu tượng kiểu dữ liệu bằng Barbara Liskov .
Một kiểu dữ liệu trừu tượng định nghĩa một lớp các đối tượng trừu tượng được đặc trưng hoàn toàn bởi các hoạt động có sẵn trên các đối tượng đó. Điều này có nghĩa là một loại trừu tượng có thể được xác định bằng cách xác định các hoạt động đặc trưng cho loại đó. Khi một lập trình viên sử dụng một đối tượng dữ liệu trừu tượng, anh ta chỉ quan tâm đến hành vi mà đối tượng đó thể hiện chứ không liên quan đến bất kỳ chi tiết nào về cách thức hành vi đó đạt được bằng cách thực hiện.
Bài viết này cũng định nghĩa một cụm hoạt động dường như chỉ định những gì chúng ta biết bây giờ là một giao diện .
Thuật ngữ khoa học thú vị (bài báo năm 1996):
Kế thừa : một cơ chế cấp thấp hơn mà theo đó các đối tượng hoặc lớp có thể chia sẻ hành vi hoặc dữ liệu.
Subtyping : thể hiện chuyên môn hóa khái niệm. Một hình thức kế thừa cụ thể, còn được gọi là kế thừa giao diện .
Nguyên tắc trừu tượng : Quá trình tổ chức kiến thức của chúng ta về một miền ứng dụng thành các bảng xếp hạng thứ tự các thứ tự trừu tượng, để có được sự hiểu biết tốt hơn về các hiện tượng cần quan tâm.
Trừu tượng được thực hiện một phần : trừu tượng có định nghĩa đã bị bỏ lại không đầy đủ.
Các lớp trừu tượng : Thuật ngữ cụ thể cho một lớp được triển khai một phần trong các hệ thống hướng đối tượng.
Kế thừa không hạn chế : Cho phép các hoạt động được xác định lại (hoặc thậm chí loại bỏ) trong các lớp con.
Kế thừa nghiêm ngặt : Kế thừa tương thích hành vi.
Kết luận :
Lớp trừu tượng là thuật ngữ chung nhất để sử dụng trong các hệ thống hướng đối tượng. Có vẻ như các hàm ảo thuần túy và không thuần túy chỉ bắt nguồn từ C ++. Ví dụ, cuộc phỏng vấn với Stroustrup này có vẻ như ông đã phát minh ra các điều khoản. Bài báo khoa học sử dụng thuật ngữ chung hơn.
Ảo bắt nguồn từ SIMULA, khiến cho việc sử dụng của nó được phổ biến rộng rãi, nhưng nó không phải là một thuật ngữ chung. Nó đã xác định chi tiết thực hiện. Nói về các loại thừa kế là phù hợp hơn. Theo mặc định, không ảo tương ứng với thừa kế nghiêm ngặt theo mặc định, trong khi ảo theo mặc định tương ứng với thừa kế không hạn chế .
Bất cứ ai quan tâm đến việc điều chỉnh các mục wikipedia ? :)