Преглед садржаја[Сакрити][Прикажи]
- 1. Шта је заправо објектно оријентисано програмирање?
- 2. Зашто су ООП неопходни?
- 3. Које предности нуде принципи ООПС-а?
- 4. Који су стубови концепта ООП?
- 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. Шта је заправо уланчавање конструктора?
- Zakljucak
Једна од најутицајнијих програмских парадигми назива се ООП, или објектно оријентисано програмирање. Уместо функција и процеса, наглашава класе и објекте.
Његов главни циљ је да повеже податке и ствари тако да је лакше радити са њима. Сваки објекат у ООП-има се састоји од кода у облику процедура или метода и података у облику поља.
Језици као што су Ц++, Објецтиве Ц, Питхон, Перл и Јава су неки од најпопуларнијих објектно оријентисаних програмски језици.
Од кључне је важности да разумете више о овоме јер су питања за интервјуе веома типична. Већина фирми тражи инжењере који су упознати са објектно оријентисаним методама и обрасцима. Дакле, ако намеравате да присуствујете интервјуу, морате бити добро упућени у ООП идеје.
У овом посту ће бити приказана разна питања за интервју за објектно оријентисано програмирање од почетничког до експертског нивоа. Стога можете проћи било који ниво интервјуа и осигурати позицију из снова.
1. Шта је заправо објектно оријентисано програмирање?
Програмирање које је објектно оријентисано (ООП) заснива се на стварним објектима, а не само на функцијама и процесима. Класе се креирају за појединачне производе.
Наслеђивање, полиморфизам и прикривање су примери концепата из стварног света које ООП инкорпорирају у програмирање. Такође омогућава повезивање података и кода.
2. Зашто су ООП неопходни?
Постоји неколико разлога зашто су ООП-ови пожељнији, међутим, следећи су најважнији:
- ООП, омогућавају људима да лако схвате софтвер чак и ако нису упознати са имплементацијом.
- Упс, побољшајте читљивост кода, разумљивост и могућност одржавања за фактор десет.
- Користећи ООП, чак и изузетно велике апликације могу се једноставно изградити и контролисати.
3. Које предности нуде принципи ООПС-а?
- ООПС, програмски објекти симулирају објекте стварног света, смањујући сложеност и побољшавајући јасноћу програма.
- Објекти се могу више пута користити у многим програмима.
- Сваки објекат креира посебан ентитет чије унутрашње операције су независне од других компоненти система.
- Увођењем неколико нових објеката и ажурирањем неколико већ постојећих, могуће је додати нове функционалности или прилагодити променљивим условима рада.
- Процеси или репрезентација података ООПс програма могу лако бити подвргнути малим прилагођавањима.
4. Који су стубови концепта ООП?
Следећи су главни стубови ООП-а:
наслеђе: Омогућава класама да наследе атрибуте друге класе.
Капсулација: Ово је дефинисано као својство објекта које скрива критичне информације. Ово чува податке сакривене од чланова разреда. Спецификатори описују како се приступа атрибуту објекта у коду.
Полиморфизам: Ово вам омогућава да извршите једну активност на неколико начина. Остварује се преко интерфејса, у којима декларишемо један интерфејс који се накнадно више пута имплементира.
апстракција: Ову функцију можете користити да сакријете критичне информације од спољашњег света и представите само битне чињенице.
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. Шта је заправо уланчавање конструктора?
Уланчавање конструктора је техника за позивање једног конструктора из другог у односу на тренутну референцу објекта. Постоје две опције:
- Конструктор у тренутној класи се може референцирати помоћу кључне речи „тхис“.
- Кључна реч „супер“ ће се користити за позивање конструктора из основне класе.
Zakljucak
Објектно оријентисано програмирање захтева размишљање о структури програма и припрему унапред. Испитивање како поделити захтеве на основне класе за вишекратну употребу које се могу користити за креирање инстанци ствари.
Све у свему, прихватање ООП-а омогућава побољшање структуре података и могућност поновне употребе, што дугорочно штеди време. Видите Хашдорков серијал интервјуа за помоћ у припреми интервјуа.
Ostavite komentar