Mengapa Go Lack Type Inheritance?
Type inheritance ialah konsep asas dalam pengaturcaraan berorientasikan objek, membenarkan subkelas mewarisi definisi daripada umum kelas. Walau bagaimanapun, Go, bahasa pengaturcaraan moden yang popular, terutamanya kekurangan ciri ini.
Rasional untuk Pilihan Go
Keputusan untuk meninggalkan warisan jenis dalam Go telah dipertimbangkan dengan teliti oleh penciptanya. Dalam Soalan Lazim (FAQ) mereka, mereka memberikan penjelasan yang bernas:
"Pengaturcaraan berorientasikan objek, sekurang-kurangnya dalam bahasa yang paling terkenal, melibatkan terlalu banyak perbincangan tentang hubungan antara jenis, hubungan yang selalunya boleh diperoleh secara automatik. Go mengambil pendekatan yang berbeza."
Alternatif kepada Hierarki Jenis Eksplisit
Daripada mewajibkan pengisytiharan eksplisit perhubungan jenis, Go menggunakan pendekatan yang unik. Ia secara automatik menganggap jenis mematuhi mana-mana antara muka yang menetapkan sebahagian daripada kaedahnya.
Pendekatan ini memberikan beberapa kelebihan:
Penghapusan Perhubungan Jenis Eksplisit
Dengan menghapuskan hierarki jenis eksplisit, Go memudahkan pengurusan dan perbincangan mengenai perhubungan jenis. Falsafah reka bentuk ini sejajar dengan penekanan Go pada kesederhanaan dan kebolehbacaan kod.
Komposisi Daripada Warisan
Sebagai alternatif kepada pewarisan, Go mengamalkan prinsip "Komposisi Lebih Warisan". Ini menggalakkan kebolehgunaan semula kod dan fleksibiliti dengan menggabungkan objek ke dalam gubahan dan bukannya melanjutkan kelas asas.
Atas ialah kandungan terperinci Mengapa Go Memilih untuk Mengetepikan Jenis Warisan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!