Kế thừa, Đa hình và Đóng gói là ba tính năng quan trọng nhất, khác biệt của OOP và từ đó, tính kế thừa có số liệu thống kê sử dụng cao trong những ngày này. Tôi đang học JavaScript và ở đây, tất cả họ đều nói rằng nó có tính kế thừa nguyên mẫu và mọi người ở khắp mọi nơi nói rằng đó là một cái gì đó khác xa so với thừa kế cổ điển.
Tuy nhiên, tôi không thể hiểu sự khác biệt của chúng từ điểm sử dụng thực tế là gì? Nói cách khác, khi bạn định nghĩa một lớp cơ sở (nguyên mẫu) và sau đó rút ra một số lớp con từ nó, cả hai bạn đều có quyền truy cập vào các chức năng của lớp cơ sở của mình và bạn có thể tăng các hàm trên các lớp dẫn xuất. Nếu chúng ta coi những gì tôi nói là kết quả dự định của thừa kế, thì tại sao chúng ta phải quan tâm nếu chúng ta sử dụng phiên bản nguyên mẫu hoặc phiên bản cổ điển?
Để làm rõ hơn bản thân mình, tôi thấy không có sự khác biệt trong tính hữu dụng và mô hình sử dụng của nguyên mẫu và kế thừa cổ điển. Điều này dẫn đến việc tôi không có hứng thú để tìm hiểu lý do tại sao chúng khác nhau, vì cả hai đều dẫn đến cùng một thứ, OOAD. Thực tế (không phải về mặt lý thuyết) kế thừa nguyên mẫu khác với kế thừa cổ điển như thế nào?