c# - "Kelas boleh mewarisi berbilang antara muka secara langsung, tetapi hanya boleh mewarisi secara langsung satu kelas (termasuk kelas abstrak)." Bukankah ia tidak konsisten dengan pewarisan berbilang C++?
ringa_lee
ringa_lee 2017-05-31 10:36:49
0
2
2253

"Kelas boleh mewarisi berbilang antara muka secara langsung, tetapi hanya boleh mewarisi secara langsung satu kelas (termasuk kelas abstrak)." Bukankah ia tidak konsisten dengan berbilang warisan dalam C++?

ringa_lee
ringa_lee

ringa_lee

membalas semua(2)
某草草

Sepatutnya kelas mewarisi secara bijak daripada kelas (termasuk kelas abstrak), tetapi boleh melaksanakan berbilang antara muka
Warisan ialah warisan langsung, dan antara muka ialah spesifikasi tertentu. Saya rasa lebih baik memahami cara ini

c++ pada asalnya adalah sistem Simular, jadi saya tidak akan bercakap mengenainya

Pewarisan berbilang tidak bermakna

黄舟

Warisan berbilang

C++ ialah warisan berbilang, lebih berkuasa, tetapi juga kurang mudah digunakan. Oleh itu, bahasa seperti Java tidak membenarkan pewarisan berbilang kelas asas Mereka hanya boleh mewarisi satu kelas asas dan melaksanakan berbilang antara muka. Saya tidak boleh mengatakan yang mana antara dua kaedah ini lebih baik, tetapi mereka masing-masing mempunyai kelebihan mereka sendiri. Saya masih ingat ia dikatakan dalam "CLR melalui C#" bahawa untuk mengelakkan berbilang warisan, C# hanya boleh mewarisi satu kelas, yang mengakibatkan banyak perangkap. Bagaimanapun, jika anda bukan pakar bahasa, biasanya terdapat penyelesaian kompromi, dan kami boleh menggunakannya

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan