Video: Эмне үчүн бир нече тукум куучулук C++ тилинде колдоого алынат, бирок Javaда эмес?
2024 Автор: Lynn Donovan | [email protected]. Акыркы өзгөртүү: 2023-12-15 23:50
C++ , Common lisp жана бир нече башка тилдер бир нече мурасты колдойт ал эми java жок колдоо ал. Java жол бербейт көп тукум куучулук андан келип чыккан түшүнүксүздүктү болтурбоо үчүн. Мындай көйгөйдүн бир мисалы болуп алмаз маселеси болуп саналат көп тукум куучулук.
Демек, эмне үчүн Javaда бир нече мурас колдоого алынбайт?
Java колдойт көп тукум куучулук интерфейстер аркылуу гана. Класс каалаган сандагы интерфейстерди ишке ашыра алат, бирок бир гана классты кеңейте алат. Көптөгөн мурас болуп саналат жок колдоого алынат, анткени ал өлүмгө алып келе турган алмаз көйгөйүнө алып келет. сен интерфейстен эч кандай функцияга ээ болбоңуз.
Ошондой эле, бир нече тукум куучулукта Алмаз көйгөйү эмнеде? алмаз маселеси ” деген түшүнүксүздүк, ал жол берүүдө пайда болушу мүмкүн көп тукум куучулук . Бул олуттуу көйгөй мүмкүндүк берген тилдер үчүн (мисалы, C++). көп тукум куучулук мамлекеттин. Бирок Javaда көп тукум куучулук класстар үчүн уруксат берилбейт, интерфейстер үчүн гана жана аларда абал жок.
Ошо сыяктуу эле, адамдар эмне үчүн C++ бир нече мурасты колдойт, бирок C# колдобойт?
Көптөгөн мурас ичинде C# C# бир нече мурасты колдобойт , анткени алар бул кошумчаны негиздешти көп тукум куучулук өтө көп татаалдыкты кошкон C# өтө аз пайда берип жатканда. In C# , класстарга гана уруксат берилет мурастоо жалгыз ата-энелер классынан, ал жалгыз деп аталат мурас.
C++ бир нече мурасты кантип колдойт?
Башка көптөгөн объектиге багытталган программалоо тилдеринен айырмаланып, C++ мүмкүндүк берет көп тукум куучулук . Көптөгөн мурас бала класска мүмкүнчүлүк берет мурастоо бир нече ата-энелер классынан. Жаныбарлар жана сойлоп жүрүүчүлөр класстары мурастоо андан. Animal классы гана breathe() ыкмасын жокко чыгарат.