Java бірнеше мұраны қолдайды ма Неліктен немесе неге жоқ?
Java бірнеше мұраны қолдайды ма Неліктен немесе неге жоқ?

Бейне: Java бірнеше мұраны қолдайды ма Неліктен немесе неге жоқ?

Бейне: Java бірнеше мұраны қолдайды ма Неліктен немесе неге жоқ?
Бейне: Кофеден артық: Голанг. Неліктен Java әзірлеушілері GO тілін екінші тіл ретінде үйренуде. 2024, Мамыр
Anonim

java бірнеше мұраға қолдау көрсетпейді сыныптар арқылы, бірақ интерфейстер арқылы біз пайдалана аламыз көп мұра . Java жоқ болмайды көп мұраны қолдайды тікелей, себебі ол екі кеңейтілген сыныптың бірдей әдіс атауына ие болған кезде әдістерді қайта анықтауға әкеледі.

Демек, Java-да бірнеше мұраға рұқсат етілген бе?

C++, Common lisp және бірнеше басқа тілдерді қолдайды көп тұқым қуалаушылық кезінде java қолдамайды. Java болмайды көп мұраға рұқсат ету одан туындайтын екіұштылықты болдырмау үшін. Мұндай мәселенің мысалының бірі - гауһар мәселесі көп тұқым қуалаушылық.

Сондай-ақ біліңіз, неге көп мұрагерлік нашар? Қауіпті көп тұқым қуалаушылық күрделілік болып табылады. Себебі сіз әсер етуіңіз мүмкін бірнеше бірдей ата-аналық сыныптардағы қолданбаңыздағы модульдер үшін кодты өзгерту туралы ойлау оңай емес. Кез келген қате қателердің тізбекті реакциясын тудыруы мүмкін. Бұл жерде көп тұқым қуалаушылық өнімді бола алады.

Сондай-ақ біліңіз, қандай мұраға Java қолдау көрсетпейді Неліктен?

Java-де бұл ешқашан болмайды, өйткені жоқ көп тұқым қуалаушылық . Мұнда екі интерфейс бірдей әдіске ие болса да, іске асырушы сыныпта бір ғана әдіс болады және оны орындаушы да жасайды. Сыныптардың динамикалық жүктелуі жүзеге асыруды жүзеге асырады көп тұқым қуалаушылық қиын.

Неліктен интерфейсте бірнеше мұра қолданылады?

Біз түсіндіргендей мұрагерлік бөлім, көп тұқым қуалаушылық емес қолдау көрсетті екіұштылыққа байланысты сынып жағдайында. Дегенмен, солай қолдау көрсетті жағдайда интерфейс өйткені ешқандай түсініксіздік жоқ. Себебі оның орындалуы іске асыру класы арқылы қамтамасыз етіледі. интерфейс Көрсетілетін{

Ұсынылған: