Cemburu fitur adalah istilah yang digunakan untuk menggambarkan situasi di mana satu objek mendapat bidang bidang lain untuk melakukan semacam perhitungan atau membuat keputusan, daripada meminta objek untuk melakukan perhitungan itu sendiri.
Sebagai contoh sepele, pertimbangkan kelas yang mewakili persegi panjang. Pengguna persegi panjang mungkin perlu tahu wilayahnya. Pemrogram dapat mengekspos widthdan heightbidang dan kemudian melakukan perhitungan di luar Rectanglekelas. Atau, Rectanglebisa menjaga widthdan heightbidang pribadi dan menyediakan getAreametode. Ini bisa dibilang pendekatan yang lebih baik.
Masalah dengan situasi pertama, dan alasan itu dianggap sebagai bau kode, adalah karena itu merusak enkapsulasi.
Sebagai aturan praktis, setiap kali Anda menggunakan bidang yang luas dari kelas lain untuk melakukan segala jenis logika atau perhitungan, pertimbangkan untuk memindahkan logika itu ke metode di kelas itu sendiri.