Содржина[Крие][Прикажи]
- 1. Што точно е Објектно ориентирано програмирање?
- 2. Зошто се неопходни ООП?
- 3. Какви придобивки нудат принципите на ООПС?
- 4. Кои се столбовите на концептот OOPs?
- 5. Што точно е класа?
- 6. Што точно е предмет?
- 7. Кои се ограничувањата на ООП?
- 8. Што е наследство?
- 9. Што точно е инкапсулација?
- 10. Што е полиморфизам?
- 11. Што е точно апстракција?
- 12. Што точно е преоптоварување на методот?
- 13. Што точно преовладува методот?
- 14. Што точно е суперкласа?
- 15. Што е точно подкласа?
- 16. Што точно е статичен полиморфизам?
- 17. Што точно е динамичен полиморфизам?
- 18. Опишете го поимот Конструктор.
- 19. Што точно се модификаторите за пристап?
- 20. Што точно е деструктор?
- 21. Што точно е хибридно наследување?
- 22. Што е точно хиерархиско наследување?
- 23. Кои се недостатоците на наследството?
- 24. Што точно е исклучок?
- 25. Што точно е справување со исклучоци и кои се неговите придобивки?
- 26. Што точно се виртуелните функции?
- 27. Што точно е функцијата пријател?
- 28. Што точно е собирање ѓубре?
- 29. Што е точно спојување?
- 30. Што е точно кохезија?
- 31. Опишете блок обид/фаќање.
- 32. Опишете последен блок.
- 33. Што точно е интерфејс?
- 34. Што всушност е составот?
- 35. Што точно е синџир на конструктор?
- Заклучок
Една од највлијателните програмски парадигми се нарекува OOPs, или објектно-ориентирано програмирање. Наместо функции и процеси, ги нагласува класите и објектите.
Неговата главна цел е да ги поврзе податоците и работите за да биде поедноставно да се работи со нив. Секој објект во OOP е составен од код во форма на процедури или методи и податоци во форма на полиња.
Јазиците како C++, Objective C, Python, Perl и Java се некои од најпопуларните објектно-ориентирани програмски јазици.
Критично е да се разбере повеќе за ова, бидејќи прашањата за интервјуто се екстремно типични. Повеќето фирми бараат инженери кои се запознаени со објектно-ориентирани методи и обрасци. Значи, ако имате намера да присуствувате на интервју, мора да бидете добро упатени во идеите за OOP.
Различни објектно-ориентирани прашања за интервју за програмирање од почетни до експертски нивоа ќе бидат прикажани во овој пост. Затоа, можете да поминете кое било ниво на интервју и да ја обезбедите вашата позиција од соништата.
1. Што точно е Објектно ориентирано програмирање?
Програмирањето кое е објектно-ориентирано (OOPs) се заснова на вистински објекти наместо само на функции и процеси. Класите се создаваат за поединечни производи.
Наследувањето, полиморфизмот и прикривањето се примери на концепти од реалниот свет кои OOP ги инкорпорираат во програмирањето. Исто така, овозможува поврзување на податоци и код.
2. Зошто се неопходни ООП?
Постојат неколку причини зошто OOP се претпочитаат, сепак, следниве се најважните:
- OOPs, им овозможуваат на луѓето лесно да го разберат софтверот дури и ако не се запознаени со имплементацијата.
- Упс, подобрете ја читливоста, разбирливоста и одржливоста на кодот за десет пати.
- Со користење на OOP, дури и екстремно големите апликации може едноставно да се градат и контролираат.
3. Какви придобивки нудат принципите на ООПС?
- ООПС, објектите за програмирање симулираат објекти од вистинскиот свет, намалувајќи ја сложеноста и зголемувајќи ја јасноста на програмата.
- Објектите може постојано да се користат во многу програми.
- Секој објект создава посебен ентитет чии внатрешни операции се независни од другите компоненти на системот.
- Со воведување на неколку нови објекти и ажурирање на неколку веќе постоечки, можно е да додадете нова функционалност или да се прилагодите на променливите работни услови.
- Процесите или претставувањето на податоците на програмата OOPs лесно може да подлежат на мали прилагодувања.
4. Кои се столбовите на концептот OOPs?
Следниве се главните столбови на OOP:
Наследство: Им овозможува на класите да ги наследат атрибутите на друга класа.
Енкапсулација: Ова е дефинирано како својство на објект што крие критични информации. Ова ги задржува податоците скриени од членовите на класата. Спецификаторите опишуваат како се пристапува до атрибутот на објектот во код.
Полиморфизам: Ова ви овозможува да извршите една активност на неколку начини. Тоа се постигнува преку интерфејси, во кои декларираме еден интерфејс кој последователно се имплементира неколку пати.
Апстракција: Можете да ја користите оваа функција за да ги скриете критичните информации од надворешниот свет и да ги презентирате само суштинските факти.
5. Што точно е класа?
Класата е прототип составен од објекти во различни состојби и со различно однесување. Има голем број методи кои ги споделуваат објектите во таа класа.
6. Што точно е предмет?
Објектот е ентитет од реалниот свет кој служи како основна единица на OOP, како стол, мачка или куче. Различни објекти имаат различни состојби, својства и дејства.
7. Кои се ограничувањата на ООП?
- Големината е поголема од онаа на другите апликации.
- Потребно е да се навикнеш.
- Одредени видови проблеми не го бараат тоа.
- Беше трудоинтензивно да се создаде и во споредба со другите апликации, работи побавно.
8. Што е наследство?
Поимот наречен наследство се однесува на споделување на воспоставената структура и однесување на класата од друга класа. Кога наследувањето се применува на една класа, тоа се нарекува единечно наследување; кога зависи од многу класи, се нарекува повеќекратно наследство.
9. Што точно е инкапсулација?
Идејата за OOP вклучува и капсулација. Го опишува мешањето на податоците и техниките за манипулација со податоците. Дополнително, помага да се спречи директен пристап до некои делови од објектот.
10. Што е полиморфизам?
Во јазиците OOP, полиморфизмот е фундаментален концепт. Тоа покажува како различни класи може да делат интерфејс. Сите овие класи се способни да имаат уникатни интерфејс имплементации.
11. Што е точно апстракција?
Апстракција е објектно-ориентирано програмирање (OOPs) концепт кој се користи за креирање на структурата на објекти од реалниот свет. Ги „прикажува“ само најважните квалитети и „прикрива“ необични информации од надворешниот свет. Основната цел на апстракцијата е да ги заштити луѓето од непотребни информации.
12. Што точно е преоптоварување на методот?
Можно е две или повеќе процедури да имаат исто име. Тие, сепак, треба да имаат различни параметри, различен број на параметри, различни видови или и двете. Овие се познати како преоптоварени методи, а карактеристиката е позната како метод преоптоварување.
13. Што точно преовладува методот?
Објектно-ориентираното програмирање ја вклучува идејата за надминување на методот. Тоа е јазична карактеристика што дозволува подкласа или дете класа да понуди приспособена имплементација на метод што веќе го обезбедува една од нејзините суперкласи или родителски класи.
14. Што точно е суперкласа?
Суперкласа, често позната како основна класа, е тип на класа што дејствува како родител на друга класа или класи. Класата Автомобили, на пример, има подкласа наречена Vehicle.
15. Што е точно подкласа?
Подкласа е подкласа на друга класа. Комбето, на пример, е подкласа на возила или изведена класа.
16. Што точно е статичен полиморфизам?
Во времето на компајлирање, се јавува еден вид полиморфизам познат како статички полиморфизам (статичко врзување). Преоптоварувањето на методот е еден вид полиморфизам во време на компајлирање.
17. Што точно е динамичен полиморфизам?
Еден вид полиморфизам кој се решава за време на траење се нарекува полиморфизам на траење, исто така познат како динамичен полиморфизам (динамично врзување). Надминувањето на методите е илустрација на полиморфизмот на време на траење.
18. Опишете го поимот Конструктор.
Конструктор е специфичен метод на класа кој автоматски се повикува кога се креира примерок од класа. Кога пристапувате до класата, таа е конструирана со истото име како класата и ги иницијализира сите нејзини членови. Примарните карактеристики на конструкторот се како што следува:
Не постои тип на враќање за конструктори.
Можно е преоптоварување на конструкторите.
Не е потребно да се определи конструктор; the.NET Framework ќе го направи тоа автоматски.
19. Што точно се модификаторите за пристап?
Во објектно-ориентирани јазици, клучните зборови се модификатори на пристап или спецификатори на пристап. Помага во конфигурацијата на класите, методите и пристапноста на другите членови.
20. Што точно е деструктор?
Деструктор е метод за ослободување на ресурсите доделени на објект. Кога некој објект е уништен, овој метод автоматски се повикува.
21. Што точно е хибридно наследување?
Хибридното наследување е вид на наследување генерирано со мешање на неколку форми на наследување како што се единечни, повеќекратни итн.
22. Што е точно хиерархиско наследување?
Повеќе подкласи наследуваат од матична класа во ситуација на хиерархиско наследување. Еден вид наследство во кое бројни класи потекнуваат од еден родител или основна класа е познат како хиерархиско наследување. На пример, класата на овошје може да содржи подкласи како што се „јаболко“, „манго“, „банана“, „цреша“ и така натаму.
23. Кои се недостатоците на наследството?
Го продолжува и го отежнува процесот на извршување. Исто така, бара префрлување помеѓу различни класи. Класите родител и дете се секогаш нераскинливо поврзани.
Измените на наставната програма би наложиле ревизии и за родителот и за одделението на детето. Наследството мора да се спроведе внимателно или резултатите ќе бидат погрешни.
24. Што точно е исклучок?
Исклучок е инцидент што го попречува вообичаеното функционирање на кодот. За да продолжите со извршувањето, можете да се справите со овие исклучоци во Java. Во Јава, постојат многу видови на претходно дефинирани исклучоци, а управувањето со исклучоци е обезбедено за да се контролираат зголемените исклучоци користејќи блокови за обид за фаќање.
25. Што точно е справување со исклучоци и кои се неговите придобивки?
Најважниот метод во Јава за справување со неочекувани неуспеси во траење е справувањето со исклучоци. Тоа ви овозможува да ги контролирате грешките во времето на траење што се појавуваат за време на извршувањето на програмата.
Придобивките од справувањето со исклучоци ја вклучуваат способноста да се задржи редовниот тек на програмата додека се управува со исклучоците. На пример, ако се случи грешка во еден дел од програмата, таа нема да има никакво влијание врз остатокот од програмата, ако се справиме со исклучокот со блокови за обид за фаќање.
26. Што точно се виртуелните функции?
Виртуелните функции се исто така вклучени во функциите на матичната класа и се отфрлени од подкласата. Овие рутини помагаат да се постигне полиморфизам за време на траење.
27. Што точно е функцијата пријател?
Функцијата пријател е функција која припаѓа на класа и ѝ е дозволен пристап до нејзините јавни, приватни или заштитени податоци. Ако функцијата е дефинирана надвор од класата, не е можно да се преземат овие податоци. Клучните зборови за контрола на пристап приватни, јавни и заштитени немаат никакво влијание врз декларацијата за пријател, која може да се направи каде било во декларацијата на класата.
28. Што точно е собирање ѓубре?
Собирањето ѓубре (GC) е елемент на програмските јазици како C# и Java што служи како систем за обновување на меморијата. Моторот за собирање ѓубре (GC) е компонента на програмскиот јазик што овозможува автоматизирано ослободување на мемориски простор за објекти што апликацијата повеќе не ги користи.
29. Што е точно спојување?
Тоа се однесува на ситуации во кои различни класи се потпираат еден на друг и споделуваат знаење. Силна врска се јавува кога една класа има детално познавање на друга класа. Можете да ја одредите видливоста на класите, методите или променливите користејќи модификатори за пристап. Интерфејсите се користат за да се обезбеди послаба спојка.
30. Што е точно кохезија?
Начинот на кој една компонента остварува одредена активност се нарекува нејзина кохезија. Силен, кохезивен пристап едноставно ќе ја изврши дефинираната задача, додека слабиот, кохезивен метод би ја поделил едната задача на неколку помали задачи и потоа ќе ги заврши.
Пакетот Java.io е доста кохерентен, но пакетот java.util не е.
31. Опишете блок обид/фаќање.
Кога програмата ќе наиде на грешка поради неточен код или податоци, „пробајте“ и „фатете“ означувајте како да управувате со неа. Блок за обид е името на делот од кодот кога се појавуваат исклучоци. Блок за фаќање се користи за снимање и справување со исклучоците од блоковите за обид.
32. Опишете последен блок.
Работниот дел од кодот на клучниот збор try е означен последен. Го означува кодот што секогаш се извршува веднаш по пробниот период и сите блокови за фаќање пред да се заврши методот. Последниот блок секогаш се извршува без разлика дали е исклучок или фатен.
33. Што точно е интерфејс?
Интерфејсот е комбинација од апстрактни методи и тип на податоци дефиниран од корисникот. Класа имплементира интерфејс, наследувајќи ги апстрактните функции на интерфејсот.
Класата ги претставува својствата и однесувањата на објектот, додека интерфејсот ги вклучува однесувањата што ги спроведува класата. Интерфејсот претставува „што“, додека Класата пренесува „како“.
34. Што всушност е составот?
Составот може да се користи за да се постигне поврзување. Демонстрира силна објектна врска помеѓу зависните и независните објекти, наспроти агрегирањето. Зависниот објект не постои во оваа околност и ќе се отстрани ако се избрише матичниот објект.
35. Што точно е синџир на конструктор?
Синџирот на конструктор е техника за повикување на еден конструктор од друг во однос на референцата на тековниот објект. Постојат две опции:
- Конструкторот во тековната класа може да се референцира со користење на клучниот збор „ова“.
- Клучниот збор „супер“ ќе се користи за повикување на конструкторот од основната класа.
Заклучок
Објектно ориентираното програмирање бара размислување за структурата на програмата и подготовка пред време. Испитување како да се поделат барањата на основни, еднократни класи што може да се користат за создавање примери на нешта.
Генерално, прифаќањето на OOP обезбедува подобрување структури на податоци и повторна употреба, што заштедува време на долг рок. Види Серијата интервјуа на Хашдорк за помош при подготовка за интервју.
Оставете Одговор