
Mengapa Menggunakan Kelas Akhir
Minimalkan bidang pandang
Saat Anda melihat kelas dengan awalan terakhir, Anda memahami bahwa kelas ini tidak dapat diperpanjang oleh yang lain, yang tidak hanya membuatnya lebih mudah dibaca, tetapi juga memungkinkan Anda untuk memastikan bahwa ruang lingkup logika terbatas pada kelas tertentu itu.
Mendorong pendekatan komposisi-over-warisan
Prinsip terbuka / tertutup mengatakan: kelas harus terbuka untuk ekstensi, tetapi ditutup untuk perubahan.
Jika karena alasan apa pun (memahami dengan baik alasan itu sendiri) Anda memutuskan untuk menggunakan warisan, maka hapus saja kata kunci terakhir dan selesai.
Jika Anda tidak dapat memperluas kelas "secara default" (karena ini final), Anda membantu diri Anda sendiri dengan berpikir terutama tentang penggunaan komposisi daripada pewarisan.
Mengapa kelas ini belum final?
Jika kita mengincar komposisi daripada warisan, maka kita harus mencoba menghindari pewarisan sebanyak mungkin dan hanya menggunakannya ketika benar-benar diperlukan. Warisan OOP sering disalahgunakan.
Delusi
Saat pertama kali mempelajari OOP, kami memberikan contoh klasik tentang pewarisan. Namun, ketika Alan Kay menciptakan Smalltalk, warisan bukanlah konsep utamanya. Konsep utamanya adalah pengiriman pesan, yaitu Anda dapat mengirim pesan ke objek, dan mereka merangkum data dan logika. Anda dapat mengubah perilakunya menggunakan berbagai objek, yang sebenarnya adalah komposisi. Namun pada akhirnya, konsep inheritance begitu populer hingga akhirnya membayangi komposisi.
Manfaat menggunakan kelas akhir
- . .
- . , .
- . , .
- . , . .
- . .
- . , , .
- . .
- , , .
- , , . , . , , .
[ ]
- .
- .
- Gunakan komposisi (melalui DI melalui konstruktor kelas) untuk menyatukan dan meminimalkan kompleksitas.
Total: Antarmuka -> Kelas Akhir -> Komposisi