Мазмұны[Жасыру][Көрсету]
- 1. Объектіге бағытталған бағдарламалау дегеніміз не?
- 2. ООП не үшін қажет?
- 3. OOPS принциптері қандай артықшылықтар береді?
- 4. OOP тұжырымдамасының тіректері қандай?
- 5. Класс дегеніміз не?
- 6. Нақты зат дегеніміз не?
- 7. OOP шектеулері қандай?
- 8. Мұрагерлік дегеніміз не?
- 9. Инкапсуляция дегеніміз не?
- 10. Полиморфизм дегеніміз не?
- 11. Абстракция дегеніміз не?
- 12. Әдістің шамадан тыс жүктелуі дегеніміз не?
- 13. Әдістің басымдылығы дегеніміз не?
- 14. Жоғары сынып дегеніміз не?
- 15. Кіші класс дегеніміз не?
- 16. Статикалық полиморфизм дегеніміз не?
- 17. Динамикалық полиморфизм дегеніміз не?
- 18. Конструктор ұғымына сипаттама беріңіз.
- 19. Қол жеткізу модификаторлары дегеніміз не?
- 20. Деструктор дегеніміз не?
- 21. Гибридті тұқым қуалаушылық дегеніміз не?
- 22. Иерархиялық мұрагерлік дегеніміз не?
- 23. Мұрагерліктің қандай кемшіліктері бар?
- 24. Ерекшелік дегеніміз не?
- 25. Ерекше жағдайларды өңдеу дегеніміз не және оның қандай пайдасы бар?
- 26. Виртуалды функциялар дегеніміз не?
- 27. Дос функциясы нақты қандай?
- 28. Қоқыс жинау дегеніміз не?
- 29. Байланыс дегеніміз не?
- 30. Когезия дегеніміз не?
- 31. try/catch блогын сипаттаңыз.
- 32. Қорытынды блокты сипаттаңыз.
- 33. Интерфейс дегеніміз не?
- 34. Композиция дегеніміз не?
- 35. Конструкторлық тізбек дегеніміз не?
- қорытынды
Ең ықпалды бағдарламалау парадигмаларының бірі OOP немесе объектіге бағытталған бағдарламалау деп аталады. Функциялар мен процестердің орнына ол сыныптар мен объектілерге баса назар аударады.
Оның негізгі мақсаты деректер мен заттарды олармен жұмыс істеуді жеңілдету үшін байланыстыру болып табылады. OOP-дағы әрбір нысан процедуралар немесе әдістер түріндегі кодтан және өрістер түріндегі деректерден тұрады.
C++, Objective C, Python, Perl және Java сияқты тілдер объектіге бағытталған ең танымал тілдердің бірі болып табылады. бағдарламалау тілдері.
Бұл туралы көбірек түсіну өте маңызды, өйткені сұхбат сұрақтары өте тән. Көптеген фирмалар объектіге бағытталған әдістер мен үлгілерді жақсы білетін инженерлерді іздейді. Сонымен, егер сіз сұхбатқа қатысқыңыз келсе, сіз OOP идеяларын жақсы білуіңіз керек.
Бұл постта бастауыштан бастап сарапшылық деңгейге дейінгі әртүрлі нысанға бағытталған бағдарламалау сұхбат сұрақтары көрсетіледі. Сондықтан сіз кез келген деңгейдегі сұхбаттан өтіп, арманыңыздағы орынға қол жеткізе аласыз.
1. Объектіге бағытталған бағдарламалау дегеніміз не?
Объектіге бағытталған бағдарламалау (OOPs) тек функциялар мен процестерге емес, нақты объектілерге негізделген. Сыныптар жеке өнімдерге арналған.
Мұрагерлік, полиморфизм және жасыру - OOP бағдарламалары бағдарламалауға енгізетін нақты әлем тұжырымдамаларының мысалдары. Ол сонымен қатар деректер мен кодты қосуға мүмкіндік береді.
2. ООП не үшін қажет?
OOP артықшылықты болуының бірнеше себептері бар, алайда келесілер ең маңызды болып табылады:
- OOP, адамдарға бағдарламалық жасақтаманы олар іске асырумен таныс болмаса да оңай түсінуге мүмкіндік береді.
- Ой, кодтың оқылуын, түсініктілігін және техникалық қызмет көрсету мүмкіндігін он есе жақсартыңыз.
- OOP пайдалану арқылы тіпті өте үлкен қолданбаларды жай құрастыруға және басқаруға болады.
3. OOPS принциптері қандай артықшылықтар береді?
- OOPS, бағдарламалау нысандары күрделілікті азайтып, бағдарламаның анықтығын арттыра отырып, нақты әлем нысандарын имитациялайды.
- Нысандарды көптеген бағдарламаларда қайталап қолдануға болады.
- Әрбір нысан ішкі операциялары басқа жүйе құрамдастарынан тәуелсіз ерекше нысанды жасайды.
- Бірнеше жаңа нысандарды енгізу және бірнеше бұрыннан барларын жаңарту арқылы жаңа функцияларды қосуға немесе өзгеретін жұмыс жағдайларына бейімделуге болады.
- OOPs бағдарламасының процестері немесе деректерді ұсыну шағын түзетулерден оңай өтуі мүмкін.
4. OOP тұжырымдамасының тіректері қандай?
Төменде OOP негізгі тіректері болып табылады:
Мұрагерлік: Ол сыныптарға басқа сыныптың атрибуттарын иеленуге мүмкіндік береді.
Инкапсуляция: Бұл маңызды ақпаратты жасыратын нысан сипаты ретінде анықталады. Бұл деректерді сынып мүшелерінен жасырады. Спецификаторлар нысан төлсипатына кодта қол жеткізу жолын сипаттайды.
Полиморфизм: Бұл бір әрекетті бірнеше жолмен орындауға мүмкіндік береді. Ол интерфейстер арқылы орындалады, онда біз бір интерфейсті жариялаймыз, ол кейіннен бірнеше рет орындалады.
Абстракция: Бұл функцияны сыртқы әлемнен маңызды ақпаратты жасыру және тек маңызды фактілерді көрсету үшін пайдалануға болады.
5. Класс дегеніміз не?
Класс - бұл әртүрлі күйдегі және әртүрлі мінез-құлықтағы нысандардан тұратын прототип. Оның осы сыныптағы нысандар ортақ пайдаланатын бірнеше әдістері бар.
6. Нақты зат дегеніміз не?
Нысан - орындық, мысық немесе ит сияқты OOP негізгі бірлігі ретінде қызмет ететін нақты әлем нысаны. Әртүрлі нысандардың әртүрлі күйлері, қасиеттері және әрекеттері болады.
7. OOP шектеулері қандай?
- Көлемі басқа қолданбаларға қарағанда үлкенірек.
- Бұл біраз үйренуді талап етеді.
- Мәселелердің белгілі бір түрлері оны талап етпейді.
- Оны жасау көп еңбекті қажет етті және басқа қолданбалармен салыстырғанда ол баяу жұмыс істейді.
8. Мұрагерлік дегеніміз не?
Мұрагерлік деп аталатын ұғым сыныптың қалыптасқан құрылымы мен мінез-құлқын басқа сыныппен бөлісуді білдіреді. Мұрагерлік бір сыныпқа қолданылғанда, ол жалғыз мұраға жатады; ол көптеген сыныптарға тәуелді болса, ол бірнеше мұраға жатады.
9. Инкапсуляция дегеніміз не?
OOP идеясы инкапсуляцияны да қамтиды. Ол деректерді араластыру мен деректерді өңдеу әдістерін сипаттайды. Бұған қоса, ол объектінің кейбір бөліктеріне тікелей қол жеткізуді болдырмауға көмектеседі.
10. Полиморфизм дегеніміз не?
OOP тілдерінде полиморфизм негізгі ұғым болып табылады. Ол әртүрлі сыныптардың интерфейсті қалай бөлісетінін көрсетеді. Бұл сыныптардың барлығы бірегей интерфейсті іске асыруға қабілетті.
11. Абстракция дегеніміз не?
Абстракция - бұл нақты әлем объектілерінің құрылымын құру үшін қолданылатын объектіге бағытталған бағдарламалау (OOPs) тұжырымдамасы. Ол ең маңызды қасиеттерді ғана «көрсетеді» және сыртқы әлемнен бөгде ақпаратты «жасырады». Абстракцияның негізгі мақсаты - адамдарды қажетсіз ақпараттан қорғау.
12. Әдістің шамадан тыс жүктелуі дегеніміз не?
Екі немесе одан да көп процедуралардың аты бірдей болуы мүмкін. Дегенмен, олардың әртүрлі параметрлері, әртүрлі параметрлер саны, әртүрлі түрлері немесе екеуі де болуы керек. Бұл шамадан тыс жүктелген әдістер ретінде белгілі және мүмкіндік әдісті шамадан тыс жүктеу ретінде белгілі.
13. Әдістің басымдылығы дегеніміз не?
Объектіге бағытталған бағдарламалау әдісті қайта анықтау идеясын қамтиды. Бұл ішкі сыныпқа немесе еншілес сыныпқа оның суперсыныптарының немесе ата-аналық сыныптарының бірі ұсынатын әдісті теңшелген іске асыруды ұсынуға мүмкіндік беретін тіл мүмкіндігі.
14. Жоғары сынып дегеніміз не?
Көбінесе негізгі класс ретінде белгілі суперкласс - бұл басқа сыныптың немесе сыныптардың ата-анасы ретінде әрекет ететін сынып түрі. Мысалы, Car класында Vehicle деп аталатын қосалқы класс бар.
15. Кіші класс дегеніміз не?
Ішкі класс - бұл басқа класстың ішкі сыныбы. Микроавтобус, мысалы, Көлік құралының қосалқы сыныбы немесе туынды класы.
16. Статикалық полиморфизм дегеніміз не?
Компиляция уақытында статикалық полиморфизм (статикалық байланыстыру) деп аталатын полиморфизм түрі орын алады. Әдістің шамадан тыс жүктелуі – компиляция уақыты полиморфизмінің түрі.
17. Динамикалық полиморфизм дегеніміз не?
Орындалу уақытында шешілетін полиморфизм түрі динамикалық полиморфизм (динамикалық байланыстыру) ретінде белгілі орындалу полиморфизмі деп аталады. Әдістердің басымдылығы орындалу полиморфизмінің суреті болып табылады.
18. Конструктор ұғымына сипаттама беріңіз.
Конструктор – класс данасы жасалған кезде автоматты түрде шақырылатын класстың белгілі бір әдісі. Класқа кірген кезде, ол сыныппен бірдей атпен құрастырылады және оның барлық мүшелерін инициализациялайды. Конструктордың негізгі сипаттамалары келесідей:
Конструкторлар үшін қайтару түрі жоқ.
Конструкторларды шамадан тыс жүктеу мүмкін.
Конструкторды көрсету талап етілмейді; NET Framework мұны автоматты түрде жасайды.
19. Қол жеткізу модификаторлары дегеніміз не?
Объектіге-бағытталған тілдерде кілт сөздер қол жеткізу модификаторы немесе қатынас спецификаторы болып табылады. Ол сыныптарды, әдістерді және басқа мүшелердің қол жетімділігін конфигурациялауға көмектеседі.
20. Деструктор дегеніміз не?
Деструктор – нысанға тағайындалған ресурстарды шығару әдісі. Нысан жойылған кезде бұл әдіс автоматты түрде шақырылады.
21. Гибридті тұқым қуалаушылық дегеніміз не?
Гибридті тұқым қуалаушылық – бір, көп және т.б. сияқты мұраның бірнеше нысандарын араластыру арқылы жасалған мұра түрі.
22. Иерархиялық мұрагерлік дегеніміз не?
Бірнеше ішкі сыныптар иерархиялық мұрагерлік жағдайында ата-аналық сыныптан мұра алады. Көптеген сыныптар бір ата-анадан немесе негізгі сыныптан шығатын мұра түрі иерархиялық мұра ретінде белгілі. Мысалы, жеміс класында «алма», «манго», «банан», «шие» және т.б. сияқты ішкі сыныптар болуы мүмкін.
23. Мұрагерліктің қандай кемшіліктері бар?
Ол орындау процесін ұзартады және қиындатады. Бұл сонымен қатар әртүрлі сыныптар арасында ауысуды қажет етеді. Ата-аналар мен балалар сыныптары әрқашан бір-бірімен тығыз байланысты.
Оқу жоспарына өзгертулер енгізу ата-ана үшін де, баланың сыныбы үшін де қайта қарауды қажет етеді. Мұрагерлік мұқият орындалуы керек, әйтпесе нәтижелер дұрыс емес болады.
24. Ерекшелік дегеніміз не?
Ерекшелік - бұл кодтың әдеттегі жұмысына кедергі келтіретін оқиға. Орындауды жалғастыру үшін осы ерекшеліктерді Java тілінде өңдеуге болады. Java тілінде алдын ала анықталған ерекшеліктердің көптеген түрлері бар және ерекше жағдайларды өңдеу try-catch блоктары арқылы көтерілген ерекшеліктерді басқару үшін қамтамасыз етілген.
25. Ерекше жағдайларды өңдеу дегеніміз не және оның қандай пайдасы бар?
Java тіліндегі күтпеген орындалу сәтсіздігімен күресудің ең маңызды әдісі ерекше жағдайларды өңдеу болып табылады. Ол бағдарламаны орындау кезінде пайда болатын орындалу қателерін басқаруға мүмкіндік береді.
Ерекшеліктерді өңдеудің артықшылықтары ерекше жағдайларды басқару кезінде тұрақты бағдарлама ағынын сақтау мүмкіндігін қамтиды. Мысалы, егер бағдарламаның бір бөлімінде қате орын алса, егер біз try-catch блоктарымен ерекше жағдайды өңдейтін болсақ, ол бағдарламаның қалған бөлігіне әсер етпейді.
26. Виртуалды функциялар дегеніміз не?
Виртуалды функциялар сонымен қатар ата-аналық сыныптың функцияларына кіреді және ішкі сыныппен қайта анықталады. Бұл процедуралар орындалу полиморфизміне қол жеткізуге көмектеседі.
27. Дос функциясы нақты қандай?
Дос функциясы сыныпқа жататын және оның жалпыға ортақ, жеке немесе қорғалған деректеріне қатынасуға рұқсат етілген функция. Егер функция сыныптан тыс анықталса, бұл деректерді шығарып алу мүмкін емес. Қол жеткізуді басқару кілт сөздері private, public және protected сынып декларациясының кез келген жерінде жасалуы мүмкін достық мәлімдемеге ешқандай қатысы жоқ.
28. Қоқыс жинау дегеніміз не?
Қоқыс жинау (GC) — жадты қалпына келтіру жүйесі ретінде қызмет ететін C# және Java сияқты бағдарламалау тілдерінің элементі. Қоқыс жинау (GC) қозғалтқышы қолданба енді пайдаланбайтын нысандар үшін автоматтандырылған жад кеңістігін босатуға мүмкіндік беретін бағдарламалау тілінің құрамдас бөлігі болып табылады.
29. Байланыс дегеніміз не?
Бұл әртүрлі сыныптар бір-біріне сүйенетін және біліммен бөлісетін жағдайларды білдіреді. Күшті байланыс бір сыныптың басқа сынып туралы толық білімі болған кезде пайда болады. Кіру модификаторлары арқылы сыныптардың, әдістердің немесе айнымалылардың көрінуін көрсетуге болады. Интерфейстер әлсіз ілінісуді қамтамасыз ету үшін пайдаланылады.
30. Когезия дегеніміз не?
Компоненттің белгілі бір әрекетті орындау тәсілі оның бірігуі деп аталады. Күшті, біртұтас тәсіл жай ғана анықталған тапсырманы орындайды, ал әлсіз, біріккен әдіс бір тапсырманы бірнеше кішірек тапсырмаларға бөліп, кейін оларды аяқтайды.
Java.io бумасы өте үйлесімді, бірақ java.util бумасы жоқ.
31. try/catch блогын сипаттаңыз.
Бағдарлама қате кодқа немесе деректерге байланысты қатеге тап болған кезде, «көру» және «ұстау» оны басқару жолын көрсетеді. Сынақ блогы ерекше жағдайлар туындаған кезде код бөлігінің атауы болып табылады. Ұстау блогы сынақ блоктарынан ерекше жағдайларды түсіру және өңдеу үшін пайдаланылады.
32. Қорытынды блокты сипаттаңыз.
try кілт сөзінің кодтың жұмыс бөлігі соңғы көрсетіледі. Ол сынақтан кейін бірден іске қосылатын кодты және әдіс аяқталғанға дейін кез келген ұстау блоктарын белгілейді. Ерекшелік жойылғанына немесе ұсталғанына қарамастан, соңғы блок әрқашан орындалады.
33. Интерфейс дегеніміз не?
Интерфейс – дерексіз әдістер мен пайдаланушы анықтайтын деректер типінің жиынтығы. Класс интерфейстің дерексіз функцияларын мұраға алатын интерфейсті жүзеге асырады.
Класс объектінің қасиеттері мен әрекеттерін білдіреді, ал интерфейс сынып жүзеге асыратын әрекеттерді қамтиды. Интерфейс «нені» білдіреді, ал сынып «қалай» дегенді білдіреді.
34. Композиция дегеніміз не?
Қосылымға қол жеткізу үшін композицияны қолдануға болады. Ол біріктіруге қарама-қарсы тәуелді және тәуелсіз нысандар арасындағы күшті нысан байланысын көрсетеді. Тәуелді нысан бұл жағдайда жоқ және егер негізгі нысан өшірілсе, жойылады.
35. Конструкторлық тізбек дегеніміз не?
Конструктор тізбегі - ағымдағы нысан сілтемесіне қатысты бір конструкторды екіншісінен шақыру әдісі. Екі нұсқа бар:
- Ағымдағы сыныптағы конструкторға «this» кілт сөзі арқылы сілтеме жасауға болады.
- Негізгі сыныптан конструкторды шақыру үшін «супер» кілт сөзі пайдаланылады.
қорытынды
Объектіге бағытталған бағдарламалау бағдарламаның құрылымы туралы ойлануды және алдын ала дайындалуды қажет етеді. Талаптарды заттардың даналарын жасау үшін пайдалануға болатын негізгі, қайта пайдалануға болатын сыныптарға бөлу жолын қарастыру.
Жалпы алғанда, OOP қабылдау жақсартуды қамтамасыз етеді мәліметтер құрылымы және ұзақ мерзімді перспективада уақытты үнемдейтін қайта пайдалану мүмкіндігі. Қараңыз Хашдорктың сұхбат сериясы сұхбат дайындауға көмектесу үшін.
пікір қалдыру