Warisan, Polimorfisme, dan Enkapsulasi adalah tiga fitur paling penting dan paling penting dari OOP, dan dari mereka, pewarisan memiliki statistik penggunaan yang tinggi dewasa ini. Saya sedang belajar JavaScript, dan di sini, mereka semua mengatakan bahwa ia memiliki warisan prototipal, dan orang-orang di mana-mana mengatakan bahwa itu adalah sesuatu yang jauh berbeda dari warisan klasik.
Namun, saya tidak dapat memahami apa perbedaan mereka dari sudut penggunaan praktis? Dengan kata lain, ketika Anda mendefinisikan kelas dasar (prototipe) dan kemudian mengambil beberapa subclass dari itu, Anda berdua memiliki akses ke fungsionalitas kelas dasar Anda, dan Anda dapat menambah fungsi pada kelas turunan. Jika kita menganggap apa yang saya katakan sebagai hasil yang dimaksudkan dari warisan, lalu mengapa kita harus peduli jika kita menggunakan versi prototypal atau klasik?
Untuk lebih jelas, saya tidak melihat perbedaan dalam kegunaan dan pola penggunaan prototipe dan pewarisan klasik. Ini membuat saya tidak tertarik untuk mempelajari mengapa mereka berbeda, karena keduanya menghasilkan hal yang sama, OOAD. Bagaimana praktis (bukan secara teoritis) pewarisan prototypal berbeda dari warisan klasik?