Kelas terakhir dalam PHP, Java dan bahasa lain

Gunakan kelas terakhir atau tidak gunakan kelas akhir? Itulah pertanyaannya. Dan juga kapan dan bagaimana melakukannya dengan benar.







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



All Articles