OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық

Мазмұны:

OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық
OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық

Бейне: OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық

Бейне: OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық
Бейне: Обьектілі бағытталған бағдарламалау. Кузбаева Л. 2024, Қараша
Anonim

Негізгі айырмашылық – полиморфизм мен OOP-тегі мұра

Объектіге бағытталған бағдарламалау (OOP) әдетте бағдарламалық құралды әзірлеу үшін қолданылады. Көптеген бағдарламалау тілдері объектіге бағытталған бағдарламалауды қолдайды. Объектіге бағытталған бағдарламалау – бұл сыныптар мен объектілерді пайдалана отырып, бағдарламаны жобалау әдістемесі. OOP-тегі класс - бұл нысанды құруға арналған сызба. Кластың қасиеттері мен әдістері бар. Объект - бұл сыныптың данасы. OOP құрамында мұрагерлік, полиморфизм, абстракция және инкапсуляция сияқты төрт тірек бар. Бұл мақалада OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық талқыланады. OOP-тегі полиморфизм мен мұрагерлік арасындағы негізгі айырмашылық мынада: Полиморфизм - бұл объектінің бірнеше жолмен әрекет ету қабілеті, ал мұрагерлік - бар сыныптың қасиеттері мен әдістерін пайдаланып жаңа класс жасау.

OOP-тегі полиморфизм дегеніміз не?

Полиморфизм бірнеше пішінді көрсету болып табылады. Бір нысанның бірнеше әрекеті болуы мүмкін. Полиморфизмді екі топқа бөлуге болады. Олар шамадан тыс жүктелуде және қайта белгіленеді.

Тым жүктелу

Төмендегі Java тілінде жазылған бағдарламаны қараңыз.

OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық
OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық

01-сурет: шамадан тыс жүктелу

Жоғарыдағы бағдарламаға сәйкес А типті объект жасалады. obj.sum(); ол sum() әдісіне қатысты нәтиже береді. obj.sum(2, 3) шақыру кезінде; ол sum (int a, int b) мәніне қатысты нәтиже береді. Бір объектінің жағдайға байланысты әр түрлі мінез-құлықтары болатынын байқауға болады. Бірдей атаумен, бірақ параметрлері әртүрлі бірнеше әдістер болған кезде, ол шамадан тыс жүктелу деп аталады. Ол сондай-ақ статикалық байланыстыру немесе компиляция уақыты полиморфизмі ретінде белгілі.

Басқа анықтау

Полиморфизмнің тағы бір түрі басым. Java тілінде жазылған төмендегі бағдарламаны қараңыз.

OOP_02-суреттегі полиморфизм мен мұрагерлік арасындағы айырмашылық
OOP_02-суреттегі полиморфизм мен мұрагерлік арасындағы айырмашылық

02-сурет: қайта анықтау

Жоғарыда көрсетілген бағдарламаға сәйкес, A сыныбында display() әдісі бар. B класы А класынан тарайды. Сондықтан А сыныбының барлық әдістеріне В класы қол жеткізе алады. Бұл мұрагерлік. Мұрагерлік тұжырымдама кейінірек сипатталады.

В сыныбында да бірдей дисплей әдісі бар(). А типті нысанды жасау және көрсету әдісін шақыру кезінде шығыс В мәнін береді. А сыныбының көрсету әдісі B класының көрсету әдісімен қайта анықталады. Сонымен, шығыс B.

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

OOP-тегі мұра дегеніміз не?

Төмендегі Java тілінде жазылған бағдарламаны қараңыз.

OOP-тегі полиморфизм мен мұрагерлік арасындағы негізгі айырмашылық
OOP-тегі полиморфизм мен мұрагерлік арасындағы негізгі айырмашылық

03-сурет: Мұрагерлік мысал

Жоғарыдағы бағдарламаға сәйкес, А сыныбында sum() әдісі және В сыныбында sub() әдісі бар.

A класының sum() әдісін кеңейту кілт сөзі арқылы В сыныбында пайдалануға болады. Жаңа класс жасау үшін бар сыныптағы сипаттар мен әдістерді қайта пайдалану мұра ретінде белгілі. Тіпті В класында sum() әдісі жоқ; ол А класынан мұраланған. Мұрагерлік кодты қайта пайдалану үшін пайдалы. Ескі сынып негізгі класс, суперкласс немесе ата-аналық класс деп аталады. Туынды класс ішкі сынып немесе еншілес сынып деп аталады.

Мұрагерлік түрлері

Мұраның әртүрлі түрлері бар. Олар бір деңгейлі мұра, көп деңгейлі мұра, көп мұра, иерархиялық мұра және гибридті мұра.

Бірыңғай мұра

Бірыңғай мұрагерлікте бір супер класс және бір қосалқы сынып бар. Егер А класы супер класс және В класы қосалқы сынып болса, А класының барлық қасиеттері мен әдістеріне В класы қол жеткізе алады. Бір ғана деңгей бар; сондықтан ол бір деңгейлі мұра деп аталады.

Көпдеңгейлі мұра

Көп деңгейлі мұрагерлікте сыныптардың үш деңгейі бар. Аралық класс супер класстан мұрагер. Ішкі класс аралық сыныптан мұрагер болады. Егер А, В және С сияқты үш сынып болса, А - супер класс, ал В - аралық сынып. Сонда В А-дан, ал С В-дан мұра алады, бұл көп деңгейлі мұра.

Көп мұра

Бірнеше мұрада көптеген супер сыныптар және бір қосалқы класс бар. Егер A, B, C және D деп аталатын үш супер класс болса, онда D класы A, B және C тілдерінен мұра алады. C++ бағдарламалау тілінде бірнеше мұраға қолдау көрсетіледі. Оған Java немесе C сияқты бағдарламалау тілдерінде қолдау көрсетілмейді. Интерфейстер осы тілдерде Бірнеше мұраны жүзеге асыру үшін пайдаланылады.

Иерархиялық мұра

Егер супер сыныптар ретінде A деп аталатын сыныптар және В, С ішкі сыныптар болса, бұл ішкі сыныптар А класының қасиеттері мен әдістерін мұра ете алады. Мұраның мұндай түрі иерархиялық мұра ретінде белгілі.

Гибридті мұра

Гибридті мұра ретінде белгілі тағы бір ерекше мұра түрі бар. Бұл көп деңгейлі және көп тұқым қуалаушылықтың тіркесімі. Егер A, B, C және D кластары болса, ал В A-дан мұрагер болса және D B және C екеуінен де мұрагер болса, онда ол гибридті мұра болып табылады.

OOP-тегі полиморфизм мен тұқым қуалаушылықтың қандай ұқсастықтары бар?

Екеуі де объектіге бағытталған бағдарламалау тұжырымдамасы

OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық неде?

Полиморфизм және OOP ішіндегі мұра

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

Қорытынды – OOP ішіндегі полиморфизм мен мұрагерлік

Полиморфизм және мұрагерлік объектіге бағытталған бағдарламалаудағы негізгі ұғымдар болып табылады. OOP-тегі полиморфизм мен мұрагерлік арасындағы айырмашылық мынада: Полиморфизм бірнеше пішіндерге ортақ интерфейс және Мұрагерлік - бар сыныптың қасиеттері мен әдістерін пайдаланып жаңа класс жасау. Екі тұжырымдама да бағдарламалық жасақтаманы әзірлеуде кеңінен қолданылады.

OOP ішіндегі PDF полиморфизмі мен мұрагерлік нұсқасын жүктеп алыңыз

Сіз осы мақаланың PDF нұсқасын жүктеп алып, сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын мына жерден жүктеп алыңыз: OOP ішіндегі полиморфизм мен мұрагерлік арасындағы айырмашылық

Ұсынылған: