Mündəricat[Gizlət][Göstər]
- 1. Obyekt yönümlü proqramlaşdırma tam olaraq nədir?
- 2. OOP nə üçün lazımdır?
- 3. OOPS prinsipləri hansı üstünlükləri təklif edir?
- 4. OOP konsepsiyasının sütunları hansılardır?
- 5. Sinif tam olaraq nədir?
- 6. Obyekt tam olaraq nədir?
- 7. OOP-lərin məhdudiyyətləri hansılardır?
- 8. Miras nədir?
- 9. İnkapsulyasiya dəqiq nə deməkdir?
- 10. Polimorfizm nədir?
- 11. Abstraksiya Məhz Nədir?
- 12. Metodun həddən artıq yüklənməsi tam olaraq nədir?
- 13. Metodun üstünlüyü nədir?
- 14. Supersinif dəqiq nə deməkdir?
- 15. Yarımsinif dəqiq nə deməkdir?
- 16. Statik polimorfizm tam olaraq nədir?
- 17. Dinamik polimorfizm tam olaraq nədir?
- 18. Konstruktor anlayışını təsvir edin.
- 19. Giriş modifikatorları məhz hansılardır?
- 20. Destruktor tam olaraq nədir?
- 21. Hibrid irsiyyət tam olaraq nədir?
- 22. İerarxik varislik dəqiq nə deməkdir?
- 23. Vərəsəliyin çatışmazlıqları hansılardır?
- 24. İstisna tam olaraq nədir?
- 25. İstisnaların idarə edilməsi tam olaraq nədir və onun faydaları nələrdir?
- 26. Virtual funksiyalar tam olaraq hansılardır?
- 27. Dost funksiyası tam olaraq nədir?
- 28. Zibil Toplama tam olaraq nədir?
- 29. Birləşmə dəqiq nə deməkdir?
- 30. Koheziya dəqiq nə deməkdir?
- 31. try/catch blokunu təsvir edin.
- 32. Son bloku təsvir edin.
- 33. İnterfeys tam olaraq nədir?
- 34. Kompozisiya tam olaraq nədir?
- 35. Konstruktor zəncirləməsi tam olaraq nədir?
- Nəticə
Ən təsirli proqramlaşdırma paradiqmalarından biri OOPs və ya obyekt yönümlü proqramlaşdırma adlanır. Funksiyalar və proseslər əvəzinə sinifləri və obyektləri vurğulayır.
Onun əsas məqsədi məlumatları və əşyaları birləşdirməkdir ki, onlarla işləmək daha asan olsun. OOP-larda hər bir obyekt prosedurlar və ya metodlar şəklində koddan və sahələr şəklində verilənlərdən ibarətdir.
C++, Objective C, Python, Perl və Java kimi dillər ən populyar obyekt yönümlü dillərdəndir. proqramlaşdırma dilləri.
Oops müsahibə sualları olduqca tipik olduğundan bu barədə daha çox başa düşmək vacibdir. Əksər firmalar obyekt yönümlü metodlar və nümunələrlə tanış olan mühəndislər axtarır. Beləliklə, müsahibədə iştirak etmək niyyətindəsinizsə, OOP ideyalarını yaxşı bilməlisiniz.
Bu yazıda başlanğıcdan ekspert səviyyələrinə qədər müxtəlif obyekt yönümlü proqramlaşdırma müsahibə sualları göstəriləcək. Beləliklə, istənilən səviyyəli müsahibədən keçə və xəyal etdiyiniz mövqeni təmin edə bilərsiniz.
1. Obyekt yönümlü proqramlaşdırma tam olaraq nədir?
Obyekt yönümlü proqramlaşdırma (OOPs) sadəcə funksiya və proseslərə deyil, faktiki obyektlərə əsaslanır. Fərdi məhsullar üçün siniflər yaradılır.
Varislik, polimorfizm və gizlətmə OOP-lərin proqramlaşdırmaya daxil etdiyi real dünya konsepsiyalarına misaldır. O, həmçinin məlumatları və kodu birləşdirməyə imkan verir.
2. OOP nə üçün lazımdır?
OOP-lərə üstünlük verilməsinin bir neçə səbəbi var, lakin bunlardan ən vacibləri bunlardır:
- OOPs, insanlara proqram təminatı ilə tanış olmasalar belə, onları asanlıqla başa düşməyə imkan verin.
- Ups, kodun oxunmasını, başa düşülməsini və davamlılığını on dəfə artırın.
- OOP-lərdən istifadə etməklə, hətta son dərəcə böyük proqramlar sadəcə qurula və idarə oluna bilər.
3. OOPS prinsipləri hansı üstünlükləri təklif edir?
- OOPS, proqramlaşdırma obyektləri faktiki dünya obyektlərini simulyasiya edir, mürəkkəbliyi azaldır və proqram aydınlığını artırır.
- Obyektlərdən bir çox proqramlarda təkrar istifadə oluna bilər.
- Hər bir obyekt daxili əməliyyatları digər sistem komponentlərindən asılı olmayan fərqli bir varlıq yaradır.
- Bir neçə yeni obyekt təqdim etməklə və bir neçə artıq mövcud olanı yeniləməklə, yeni funksionallıq əlavə etmək və ya dəyişən iş şəraitinə uyğunlaşmaq mümkündür.
- OOPs proqramının prosesləri və ya məlumat təqdimatı asanlıqla kiçik düzəlişlərə məruz qala bilər.
4. OOP konsepsiyasının sütunları hansılardır?
Aşağıdakılar OOP-un əsas sütunlarıdır:
Miras: Bu, siniflərə başqa sinfin atributlarını miras almağa imkan verir.
Kapsülləşdirmə: Bu, kritik məlumatları gizlədən obyekt xüsusiyyəti kimi müəyyən edilir. Bu, məlumatları sinif üzvlərindən gizlədir. Spesifikatorlar obyektin atributunun kodda necə əldə olunduğunu təsvir edir.
Polimorfizm: Bu, bir neçə yolla tək bir fəaliyyəti həyata keçirməyə imkan verir. Bu, sonradan bir neçə dəfə həyata keçirilən bir interfeysi elan etdiyimiz interfeyslər vasitəsilə həyata keçirilir.
Abstraksiya: Siz bu funksiyadan kritik məlumatı xarici dünyadan gizlətmək və yalnız əsas faktları təqdim etmək üçün istifadə edə bilərsiniz.
5. Sinif tam olaraq nədir?
Sinif müxtəlif dövlətlərdə və müxtəlif davranışlarda olan obyektlərdən ibarət prototipdir. O, həmin sinifdəki obyektlər tərəfindən paylaşılan bir sıra metodlara malikdir.
6. Obyekt tam olaraq nədir?
Obyekt kreslo, pişik və ya it kimi OOP-ların əsas vahidi kimi xidmət edən real dünya varlığıdır. Müxtəlif obyektlərin müxtəlif vəziyyətləri, xassələri və hərəkətləri var.
7. OOP-lərin məhdudiyyətləri hansılardır?
- Ölçü digər tətbiqlərdən daha böyükdür.
- Bir az vərdiş tələb edir.
- Müəyyən növ problemlər bunu tələb etmir.
- Yaratmaq çox əmək tələb edirdi və digər proqramlarla müqayisədə daha yavaş işləyir.
8. Miras nədir?
Varislik adlanan anlayış bir sinfin qurulmuş strukturunun və davranışının başqa bir sinif tərəfindən paylaşılmasına aiddir. Vərəsəlik bir sinifə tətbiq edildikdə, o, tək miras kimi istinad edilir; bir çox siniflərdən asılı olduqda, çoxlu miras kimi istinad edilir.
9. İnkapsulyasiya dəqiq nə deməkdir?
OOP-ların ideyası kapsulyasiyanı da əhatə edir. O, məlumatların və məlumatların manipulyasiya üsullarının qarışmasını təsvir edir. Bundan əlavə, obyektin bəzi hissələrinə birbaşa girişin qarşısını almağa kömək edir.
10. Polimorfizm nədir?
OOP dillərində polimorfizm əsas anlayışdır. Müxtəlif siniflərin bir interfeysi necə paylaşa biləcəyini göstərir. Bu siniflərin hamısı unikal interfeys tətbiqlərinə malik ola bilir.
11. Abstraksiya Məhz Nədir?
Abstraksiya real dünya obyektlərinin strukturunu yaratmaq üçün istifadə olunan obyekt yönümlü proqramlaşdırma (OOPs) anlayışıdır. O, yalnız ən vacib keyfiyyətləri "gösterir" və xarici dünyadan kənar məlumatları "gizlədir". Abstraksiyanın əsas məqsədi insanları lazımsız məlumatlardan qorumaqdır.
12. Metodun həddən artıq yüklənməsi tam olaraq nədir?
İki və ya daha çox prosedurun eyni ada sahib olması mümkündür. Bununla belə, onlar fərqli parametrlərə, müxtəlif sayda parametrlərə, fərqli növlərə və ya hər ikisinə malik olmalıdırlar. Bunlar həddindən artıq yüklənmiş metodlar kimi tanınır və xüsusiyyət metodun həddindən artıq yüklənməsi kimi tanınır.
13. Metodun üstünlüyü nədir?
Obyekt yönümlü proqramlaşdırma metodun üstünlüyü ideyasını ehtiva edir. Bu, alt sinifə və ya uşaq sinfə onun supersiniflərindən və ya ana siniflərindən birinin artıq təmin etdiyi metodun fərdi tətbiqini təklif etməyə imkan verən dil xüsusiyyətidir.
14. Supersinif dəqiq nə deməkdir?
Tez-tez əsas sinif kimi tanınan super sinif, başqa bir sinifin və ya siniflərin valideyni kimi çıxış edən bir sinif növüdür. Məsələn, Car sinifinin Vehicle adlı alt sinfi var.
15. Yarımsinif dəqiq nə deməkdir?
Alt sinif başqa bir sinfin alt sinfidir. Mikroavtobus, məsələn, Avtomobil alt sinfi və ya törəmə sinfidir.
16. Statik polimorfizm tam olaraq nədir?
Kompilyasiya zamanı statik polimorfizm (statik bağlama) kimi tanınan bir növ polimorfizm baş verir. Metodun həddindən artıq yüklənməsi kompilyasiya vaxtı polimorfizminin bir növüdür.
17. Dinamik polimorfizm tam olaraq nədir?
İcra zamanı həll olunan bir növ polimorfizmə dinamik polimorfizm (dinamik bağlama) kimi də tanınan icra zamanı polimorfizmi deyilir. Metodların üstünlüyü iş vaxtı polimorfizminin təsviridir.
18. Konstruktor anlayışını təsvir edin.
Konstruktor, sinif nümunəsi yaradılan zaman avtomatik olaraq çağırılan sinfin xüsusi metodudur. Siz sinfə daxil olduğunuz zaman o, siniflə eyni adla qurulur və onun bütün üzvlərini işə salır. Konstruktorun əsas xüsusiyyətləri aşağıdakılardır:
Konstruktorlar üçün qaytarma növü yoxdur.
Konstruktorların həddindən artıq yüklənməsi mümkündür.
Konstruktoru müəyyən etmək tələb olunmur; NET Framework bunu avtomatik edəcək.
19. Giriş modifikatorları məhz hansılardır?
Obyekt yönümlü dillərdə açar sözlər giriş dəyişdiriciləri və ya giriş təyinediciləridir. Bu, siniflərin, metodların və digər üzvlərin əlçatanlığının konfiqurasiyasına kömək edir.
20. Destruktor tam olaraq nədir?
Destruktor bir obyektə təyin edilmiş resursları buraxmaq üçün bir üsuldur. Bir obyekt məhv edildikdə, bu üsul avtomatik olaraq çağırılır.
21. Hibrid irsiyyət tam olaraq nədir?
Hibrid miras tək, çox və s. kimi bir neçə miras formasının qarışması nəticəsində yaranan bir növ mirasdır.
22. İerarxik varislik dəqiq nə deməkdir?
Bir çox alt siniflər iyerarxik irsiyyət vəziyyətində ana sinifdən miras qalır. Çoxlu siniflərin tək ana və ya əsas sinifdən çıxdığı bir növ irsiyyət iyerarxik miras kimi tanınır. Məsələn, meyvə sinfində 'alma, 'manqo', 'banan', 'albalı' və s. kimi alt siniflər ola bilər.
23. Vərəsəliyin çatışmazlıqları hansılardır?
İcra prosesini uzadır və çətinləşdirir. Bu, həmçinin müxtəlif siniflər arasında keçid tələb edir. Valideyn və uşaq sinifləri həmişə ayrılmaz şəkildə bağlıdır.
Kurrikuluma edilən dəyişikliklər həm valideyn, həm də uşağın sinfi üçün yenidən baxılmasını tələb edəcək. Miras diqqətlə həyata keçirilməlidir, əks halda nəticələr səhv olacaqdır.
24. İstisna tam olaraq nədir?
İstisna kodun adi işinə mane olan bir hadisədir. İcraya davam etmək üçün Java-da bu istisnaları idarə edə bilərsiniz. Java-da əvvəlcədən müəyyən edilmiş bir çox istisnalar var və istisnaların idarə edilməsi try-catch bloklarından istifadə edərək qaldırılmış istisnaları idarə etmək üçün təmin edilir.
25. İstisnaların idarə edilməsi tam olaraq nədir və onun faydaları nələrdir?
Java-da gözlənilməz iş vaxtı uğursuzluqları ilə məşğul olmaq üçün ən vacib üsul istisnaların idarə edilməsidir. O, proqramın icrası zamanı yaranan icra zamanı xətalarına nəzarət etməyə imkan verir.
İstisnaların idarə edilməsinin faydalarına istisnaları idarə edərkən müntəzəm proqram axını saxlamaq imkanı daxildir. Məsələn, proqramın bir bölməsində xəta baş verərsə, istisnanı try-catch blokları ilə idarə etsək, bunun proqramın qalan hissəsinə heç bir təsiri olmayacaq.
26. Virtual funksiyalar tam olaraq hansılardır?
Virtual funksiyalar da ana sinifin funksiyalarına daxil edilir və alt sinif tərəfindən ləğv edilir. Bu rutinlər iş vaxtı polimorfizminə nail olmağa kömək edir.
27. Dost funksiyası tam olaraq nədir?
Dost funksiyası bir sinfə aid olan və onun ictimai, şəxsi və ya qorunan məlumatlarına girişə icazə verilən funksiyadır. Funksiya sinifdən kənarda müəyyən edilirsə, bu məlumatları əldə etmək mümkün deyil. Şəxsi, ictimai və qorunan girişə nəzarət açar sözlərinin dostluq bəyannaməsinə heç bir aidiyyatı yoxdur və bu, sinif bəyannaməsinin istənilən yerində edilə bilər.
28. Zibil Toplama tam olaraq nədir?
Zibil kolleksiyası (GC) yaddaşın bərpası sistemi kimi xidmət edən C# və Java kimi proqramlaşdırma dillərinin elementidir. Zibil kolleksiyası (GC) mühərriki proqramın artıq istifadə etmədiyi obyektlər üçün avtomatlaşdırılmış yaddaş boşluğunu buraxmağa imkan verən proqramlaşdırma dilinin tərkib hissəsidir.
29. Birləşmə dəqiq nə deməkdir?
Bu, müxtəlif siniflərin bir-birinə arxalandığı və bilikləri paylaşdığı vəziyyətlərə aiddir. Güclü əlaqə o zaman yaranır ki, bir sinif digər sinif haqqında ətraflı biliyə malikdir. Siz giriş modifikatorlarından istifadə edərək siniflərin, metodların və ya dəyişənlərin görünməsini təyin edə bilərsiniz. İnterfeyslər daha zəif birləşməni təmin etmək üçün istifadə olunur.
30. Koheziya dəqiq nə deməkdir?
Komponentin müəyyən bir fəaliyyəti yerinə yetirmə üsulu onun birləşməsi adlanır. Güclü, vahid yanaşma sadəcə müəyyən edilmiş tapşırığı yerinə yetirəcək, zəif, birləşdirici metod isə tək tapşırığı bir neçə kiçik vəzifəyə böləcək və sonra onları tamamlayacaq.
Java.io paketi kifayət qədər ardıcıldır, lakin java.util paketi deyil.
31. try/catch blokunu təsvir edin.
Proqram səhv kod və ya məlumat səbəbindən xəta ilə qarşılaşdıqda, “sınayın” və “tutmaq” onun necə idarə olunacağını göstərir. Sınaq bloku istisnalar baş verdikdə kodun hissəsinin adıdır. Sınaq bloklarından istisnaları tutmaq və həll etmək üçün tutma blokundan istifadə olunur.
32. Son bloku təsvir edin.
try açar sözünün kodun işlək hissəsi sonuncu göstərilir. O, həmişə sınaqdan dərhal sonra işə salınan kodu və metod tamamlanmazdan əvvəl hər hansı tutma bloklarını təyin edir. İstisnanın atılmasından və ya tutulmasından asılı olmayaraq, son blok həmişə işlədilir.
33. İnterfeys tam olaraq nədir?
İnterfeys mücərrəd metodların və istifadəçi tərəfindən müəyyən edilmiş məlumat növünün birləşməsidir. Sinif interfeysin mücərrəd funksiyalarını miras alaraq interfeys həyata keçirir.
Sinif obyektin xassələrini və davranışlarını təmsil edir, interfeys isə sinfin həyata keçirdiyi davranışları ehtiva edir. İnterfeys "nə", Sinif isə "necə" ifadəsini təqdim edir.
34. Kompozisiya tam olaraq nədir?
Kompozisiya əlaqə əldə etmək üçün istifadə edilə bilər. O, birləşmədən fərqli olaraq, asılı və müstəqil obyektlər arasında güclü obyekt əlaqəsini nümayiş etdirir. Asılı obyekt bu vəziyyətdə mövcud deyil və əsas obyekt silinərsə silinəcək.
35. Konstruktor zəncirləməsi tam olaraq nədir?
Konstruktor zəncirləməsi cari obyekt istinadı ilə əlaqədar bir konstruktoru digərindən çağırmaq üçün bir texnikadır. İki seçim var:
- Cari sinifdəki konstruktora “this” açar sözündən istifadə etməklə istinad etmək olar.
- Əsas sinifdən konstruktoru çağırmaq üçün “super” açar sözündən istifadə olunacaq.
Nəticə
Obyekt yönümlü proqramlaşdırma proqramın strukturu haqqında düşünməyi və vaxtından əvvəl hazırlamağı tələb edir. Tələbləri əşyaların nümunələrini yaratmaq üçün istifadə edilə bilən əsas, təkrar istifadə edilə bilən siniflərə necə bölmək olar.
Ümumilikdə, OOP-u əhatə etmək təkmilləşdirməyi təmin edir məlumat strukturları və uzun müddətdə vaxta qənaət edən təkrar istifadə imkanı. Görmək Hashdorkun Müsahibə Seriyası müsahibənin hazırlanmasında kömək üçün.
Cavab yaz