50 najpopularniejszych pytań i odpowiedzi na temat rozmów kwalifikacyjnych OOP (2025)
Oto pytania i odpowiedzi dotyczące rozmów kwalifikacyjnych OOP dla świeżych i doświadczonych kandydatów, którzy chcą zdobyć wymarzoną pracę.
1) Co to jest OOPS?
OOPS jest w skrócie systemem programowania obiektowego, w którym programy są traktowane jako zbiór obiektów. Każdy obiekt jest niczym innym jak instancją klasy.
2) Napisz podstawowe pojęcia dotyczące OOPS?
Poniżej przedstawiono koncepcje OOPS:
- Abstrakcja
- Kapsułkowanie
- Dziedzictwo
- Wielopostaciowość
Bezpłatne pobieranie w formacie PDF: Pytania i odpowiedzi dotyczące wywiadu OOPs
3) Co to jest klasa?
Klasa jest po prostu reprezentacją typu obiektu. Jest to projekt/plan/szablon opisujący szczegóły obiektu.
4) Co to jest przedmiot?
Obiekt jest instancją klasy. Ma swój własny stan, zachowanie i tożsamość.
5) Co to jest enkapsulacja?
Hermetyzacja jest atrybutem obiektu i zawiera wszystkie dane, które są ukryte. Te ukryte dane mogą być ograniczone do członków tej klasy.
Poziomy to Publiczny, Chroniony, Prywatny, Wewnętrzny i Chroniony wewnętrzny.
6) Co to jest polimorfizm?
Polimorfizm to nic innego jak przypisanie zachowania lub wartości w podklasie do czegoś, co zostało już zadeklarowane w klasie głównej. Po prostu polimorfizm przybiera więcej niż jedną formę.
7) Co to jest dziedziczenie?
Dziedziczenie to koncepcja, w której jedna klasa ma wspólną strukturę i zachowanie zdefiniowane w innej klasie. Jeśli dziedziczenie zastosowane do jednej klasy nazywa się dziedziczeniem pojedynczym i jeśli zależy od wielu klas, wówczas nazywa się je dziedziczeniem wielokrotnym.
8) Kim są manipulatorzy?
Manipulatory to funkcje, których można używać w połączeniu z operatorami wstawiania (<<) i ekstrakcji (>>) na obiekcie. Przykładami są endl i setw.
9) Wyjaśnij pojęcie konstruktor
Konstruktor to metoda używana do inicjowania stanu obiektu i jest wywoływana w momencie tworzenia obiektu. Zasady dla konstruktora to:
- Nazwa konstruktora powinna być taka sama jak nazwa klasy.
- Konstruktor nie może mieć typu zwracanego.
10) Zdefiniować destruktor?
Destruktor to metoda wywoływana automatycznie, gdy obiekt zostanie wyczerpany lub zniszczony. Nazwa destruktora jest również taka sama jak nazwa klasy, ale z symbolem tyldy przed nazwą.
11) Co to jest funkcja Inline?
Funkcja wbudowana to technika stosowana przez kompilatory, która nakazuje wstawienie całej treści funkcji wszędzie tam, gdzie ta funkcja jest używana w kodzie źródłowym programu.
12) Co to jest funkcja wirtualna?
Funkcja wirtualna jest funkcją składową klasy i jej funkcjonalność można zastąpić w jej klasie pochodnej. Funkcję tę można zaimplementować za pomocą słowa kluczowego o nazwie virtual i można je podać podczas deklaracji funkcji.
Funkcję wirtualną można zadeklarować przy użyciu tokenu (wirtualnego) w C++. Można to osiągnąć w języku C/Python, używając wskaźników funkcji lub wskaźników do działania.
13) Co to jest funkcja przyjaciela?
Funkcja znajomego to przyjaciel klasy, który ma dostęp do danych publicznych, prywatnych lub chronionych w tej samej klasie. Jeśli funkcja jest zdefiniowana poza klasą, klasa nie może uzyskać dostępu do takich informacji.
Przyjaciela można zadeklarować w dowolnym miejscu deklaracji klasy i nie mogą na niego wpływać słowa kluczowe kontroli dostępu, takie jak prywatny, publiczny lub chroniony.
14) Co to jest przeciążanie funkcji?
Przeciążanie funkcji jest funkcją zwykłą, ale przypisano jej wiele parametrów. Umożliwia utworzenie kilku metod o tej samej nazwie, które różnią się między sobą rodzajem wejścia i wyjścia funkcji.
Przykład
void add(int& a, int& b); void add(double& a, double& b); void add(struct bob& a, struct bob& b);
15) Co to jest przeciążenie operatora?
Przeciążanie operatorów to funkcja, w której stosowane są różne operatory i zależy od argumentów. Operator,-,* może zostać użyty do przejścia przez funkcję i ma swój własny priorytet w wykonaniu
16) Co to jest klasa abstrakcyjna?
Klasa abstrakcyjna to klasa, której instancji nie można utworzyć. Utworzenie obiektu nie jest możliwe w przypadku klasy abstrakcyjnej, ale można go dziedziczyć. Klasa abstrakcyjna może zawierać tylko metodę abstrakcyjną. Java dopuszcza tylko metody abstrakcyjne w klasie abstrakcyjnej, podczas gdy inne języki dopuszczają również metody nieabstrakcyjne.
17) Co to jest operator trójskładnikowy?
Operator trójskładnikowy nazywa się operatorem, który przyjmuje trzy argumenty. Argumenty i wyniki mają różne typy danych i zależy to od funkcji. Operator trójskładnikowy nazywany jest także operatorem warunkowym.
18) Jakie jest zastosowanie metody finalizacji?
Metoda Finalize pomaga wykonać operacje czyszczenia zasobów, które nie są aktualnie używane. Metoda Finalize jest chroniona i jest dostępna tylko za pośrednictwem tej klasy lub klasy pochodnej.
19) Jakie są różne typy argumentów?
Parametr to zmienna używana podczas deklaracji funkcji lub podprogramu, a argumenty są przekazywane do treści funkcji i powinny być zgodne ze zdefiniowanym parametrem. Istnieją dwa rodzaje argumentów.
- Wywołaj według wartości – przekazana wartość zostanie zmodyfikowana tylko wewnątrz funkcji i zwróci tę samą wartość, niezależnie od tego, jak zostanie przekazana do funkcji.
- Wywołanie przez referencję – przekazana wartość zostanie zmodyfikowana zarówno wewnątrz, jak i na zewnątrz funkcji i zwróci tę samą lub inną wartość.
20) Co to jest super słowo kluczowe?
Słowo kluczowe super służy do wywołania przesłoniętej metody, która zastępuje jedną z jej metod nadklasy. To słowo kluczowe umożliwia dostęp do przesłoniętych metod, a także dostęp do ukrytych członków nadklasy.
Przekazuje także wywołanie od konstruktora do konstruktora w nadklasie.
21) Co to jest przesłanianie metody?
Nadpisywanie metod to funkcja, która pozwala podklasie zapewnić implementację metody, która przesłania w klasie głównej. Zastąpi implementację w nadklasie, podając tę samą nazwę metody, ten sam parametr i ten sam typ zwracany.
22) Co to jest interfejs?
Interfejs jest zbiorem metody abstrakcyjnej. Jeśli klasa implementuje interfejs, dziedziczy w ten sposób wszystkie abstrakcyjne metody interfejsu.
Java używa interfejsu do implementacji wielokrotnego dziedziczenia.
23) Co to jest obsługa wyjątków?
Wyjątek to zdarzenie, które ma miejsce podczas wykonywania programu. Wyjątki mogą być dowolnego typu – wyjątek wykonawczy, wyjątki błędów. Wyjątki te są odpowiednio obsługiwane przez mechanizmy obsługi wyjątków, takie jak słowa kluczowe try, catch i rzucane.
24) Czym są tokeny?
Kompilator rozpoznaje token i nie można go podzielić na elementy składowe. Przykładami tokenów są słowa kluczowe, identyfikatory, stałe, literały ciągów i operatory.
Nawet znaki interpunkcyjne są również uważane za tokeny. Przykład: nawiasy, przecinki, nawiasy i nawiasy.
25) Jaka jest główna różnica między przeciążaniem a nadpisywaniem?
Przeciążenie jest wiązaniem statycznym, natomiast Zastępowanie jest wiązaniem dynamicznym. Przeciążanie to nic innego jak ta sama metoda z różnymi argumentami i może, ale nie musi, zwracać taką samą wartość w tej samej klasie.
Przesłanianie to te same nazwy metod z tymi samymi argumentami i typami zwracanymi skojarzonymi z klasą i jej klasą podrzędną.
26) Jaka jest główna różnica pomiędzy klasą a obiektem?
Obiekt jest instancją klasy. Obiekty przechowują wiele informacji, ale klasy nie mają żadnych informacji. Definicja właściwości i funkcji może zostać przeprowadzona na zajęciach i może być wykorzystana przez obiekt.
Klasa może mieć podklasy, podczas gdy obiekt nie ma podobiektów.
27) Co to jest abstrakcja?
Abstrakcja jest przydatną funkcją OOPS i pokazuje klientowi obiektu tylko niezbędne szczegóły. Oznacza to, że pokazuje tylko wymagane szczegóły obiektu, a nie wewnętrzne konstruktory obiektu. Przykład – jeśli chcesz włączyć telewizor, nie jest konieczna znajomość wewnętrznych obwodów/mechanizmów potrzebnych do włączenia telewizora. Wszystko, co jest wymagane do włączenia telewizji, zostanie pokazane przy użyciu klasy abstrakcyjnej.
28) Jakie są modyfikatory dostępu?
Modyfikatory dostępu określają zakres metody lub zmiennych, do których można uzyskać dostęp z innych różnych obiektów lub klas. Istnieje pięć typów modyfikatorów dostępu i są one następujące:
- Sprawy Prywatne
- Chroniony
- Publiczne
- Przyjaciel
- Chroniony przyjaciel
29) Czym są zapieczętowane modyfikatory?
Zapieczętowane modyfikatory to modyfikatory dostępu, w przypadku których metody nie mogą ich dziedziczyć. Zapieczętowane modyfikatory można również zastosować do właściwości, zdarzeń i metod. Tego modyfikatora nie można używać do elementów statycznych.
30) Jak wywołać metodę bazową bez tworzenia instancji?
Tak, możliwe jest wywołanie metody bazowej bez tworzenia instancji. Ta metoda powinna być „metodą statyczną”.
Dziedziczenie z tej klasy.-Użyj podstawowego słowa kluczowego z klasy pochodnej.
31) Jaka jest różnica między nowym a nadpisanym?
Nowy modyfikator instruuje kompilator, aby użył nowej implementacji zamiast funkcji klasy bazowej. Natomiast modyfikator Override pomaga zastąpić funkcję klasy bazowej.
32) Jakie są różne typy konstruktorów?
Istnieją trzy typy konstruktorów:
– Konstruktor domyślny – Bez parametrów.
– Konstruktor parametryczny – Z parametrami. Utwórz nową instancję klasy i jednocześnie przekaż argumenty.
– Konstruktor kopiujący – który tworzy nowy obiekt jako kopię istniejącego obiektu.
33) Co to jest wczesne i późne wiązanie?
Wczesne wiązanie odnosi się do przypisania wartości do zmiennych w czasie projektowania, natomiast późne wiązanie odnosi się do przypisania wartości do zmiennych w czasie wykonywania.
34) Co to jest „ten” wskaźnik?
TEN wskaźnik odnosi się do bieżącego obiektu klasy. Słowo kluczowe TO służy jako wskaźnik odróżniający bieżący obiekt od obiektu globalnego. Odnosi się do bieżącego obiektu.
35) Jaka jest różnica pomiędzy strukturą a klasą?
Domyślny typ dostępu do Struktury jest publiczny, ale typ dostępu do klasy jest prywatny. Struktura służy do grupowania danych, natomiast klasa może służyć do grupowania danych i metod. Struktury są używane wyłącznie do danych i nie wymagają ścisłej walidacji, ale klasy służą do hermetyzacji i nieodłącznych danych, co wymaga ścisłej walidacji.
36) Jaki jest domyślny modyfikator dostępu w klasie?
Domyślny modyfikator dostępu klasy to Internal, a domyślny modyfikator dostępu członka klasy to Private.
37) Co to jest funkcja czysto wirtualna?
Czysta funkcja wirtualna to funkcja, którą można przesłonić w klasie pochodnej, ale nie można jej zdefiniować. Funkcję wirtualną można zadeklarować jako Pure za pomocą operatora =0.
Przykład -
Virtual void function1() // Virtual, Not pure Virtual void function2() = 0 //Pure virtual
38) Jakich operatorów nie można przeciążać?
Poniżej znajdują się operatory, których nie można przeciążać -.
- Rozdzielczość zakresu (::)
- Wybór członka (.)
- Wybór elementu poprzez wskaźnik do funkcji (.*)
39) Co to jest polimorfizm dynamiczny lub czasowy?
Polimorfizm dynamiczny lub polimorfizm w czasie wykonywania jest również znany jako nadpisywanie metod, w którym wywołanie zastąpionej funkcji jest rozstrzygane w czasie wykonywania, a nie w czasie kompilacji. Oznacza to posiadanie dwóch lub więcej metod o tej samej nazwie, tym samym podpisie, ale z inną implementacją.
40) Czy wymagamy parametru dla konstruktorów?
Nie, nie wymagamy parametru dla konstruktorów.
41) Co to jest konstruktor kopiujący?
Jest to specjalny konstruktor służący do tworzenia nowego obiektu jako kopii istniejącego obiektu. Zawsze będzie tylko jeden konstruktor kopiujący, który może zostać zdefiniowany przez użytkownika lub system.
42) Co oznacza słowo kluczowe virtual w definicji metody?
Oznacza to, że możemy zastąpić metodę.
43) Czy metoda statyczna może wykorzystywać elementy niestatyczne?
Fałszywy.
44) Co to jest klasa bazowa, podklasa i nadklasa?
Klasa bazowa jest klasą najbardziej uogólnioną i nazywa się ją klasą główną.
Podklasa to klasa, która dziedziczy z jednej lub większej liczby klas bazowych.
Nadklasa jest klasą nadrzędną, z której dziedziczy inna klasa.
45) Co to jest wiązanie statyczne i dynamiczne?
Wiązanie to nic innego jak skojarzenie nazwy z klasą. Wiązanie statyczne to wiązanie, w którym nazwa może być powiązana z klasą w czasie kompilacji i jest również nazywane wczesnym wiązaniem.
Wiązanie dynamiczne to wiązanie, w którym nazwa może być powiązana z klasą w czasie wykonywania, i jest również nazywane późnym wiązaniem.
46) Ile instancji można utworzyć dla klasy abstrakcyjnej?
Dla klasy abstrakcyjnej nie zostaną utworzone żadne instancje. Innymi słowy, nie można utworzyć instancji klasy abstrakcyjnej.
47) Jakiego słowa kluczowego można użyć do przeciążania?
Słowo kluczowe operatora służy do przeciążania.
48) Jaki jest domyślny specyfikator dostępu w definicji klasy?
Specyfikator dostępu prywatnego jest używany w definicji klasy.
49) Która koncepcja OOPS jest używana jako mechanizm ponownego wykorzystania?
Dziedziczenie to koncepcja OOPS, którą można wykorzystać jako mechanizm ponownego wykorzystania.
50) Która koncepcja OOPS udostępnia funkcjom wywołującym tylko niezbędne informacje?
Kapsułkowanie
Te pytania podczas rozmowy kwalifikacyjnej pomogą również w Twoim życiu (ustach)
Pytanie nr 16 ma błędną odpowiedź.
Klasa abstrakcyjna może również zawierać metodę inną niż abstrakcyjna.
Abhinav ma rację..
Klasa abstrakcyjna może mieć zarówno metody abstrakcyjne, jak i nieabstrakcyjne. Obowiązkowa jest co najmniej jedna metoda abstrakcyjna.
Dziękuję, korekta została wprowadzona.
Czy C++ obsługuje 5 typów specyfikatorów dostępu?
Nie, myślę, że tylko 3… prywatne, publiczne, chronione. Pozostałe dwa, jak sądzę, dotyczą Javy
Osoba dostępowa Zarish Alam Modifier ma sześć niechronionych kont ho ga
nie, myślę, że tylko trzy typy
Obowiązkowa jest co najmniej jedna metoda abstrakcyjna – jest to błędne. Możemy stworzyć klasę abstrakcyjną bez żadnych metod abstrakcyjnych, wystarczy tylko upewnić się, że nie została utworzona jej instancja.
dzięki, to bardzo pomaga
Dziękuję Manoj Kumar
Proszę przeczytać całość. ten warunek ma zastosowanie tylko w Javie.
właściwie, bracie, jeśli stworzysz metodę jako abstrakcję, więc musisz uczynić swoją klasę abstrakcją, ale jeśli uczynisz klasę abstrakcją, więc tworzenie metod jako abstrakcji nie będzie obowiązkowe. Dzięki
tylko w klasie abstrakcyjnej Java mają tylko metodę abstrakcyjną, nie dla wszystkich
Dziękuję, było bardzo pomocne
skąd wiesz, że w punkcie 15 wartości a i b wynoszą odpowiednio 1.2 i 6?
to są wartości mu przekazane
Dziękuję Ci
Naprawdę dobre, pomocne !!! Dziękuję guru kariery!!
Podziękowania
Dziękuję guru kariery
Odpowiedź na ostatnie pytanie nr. 50 – Która koncepcja OOPS udostępnia funkcjom wywołującym tylko niezbędne informacje? Abstrakcja jest błędna. Zamiast tego powinna to być Enkapsulacja. Ukrywanie danych odnosi się do enkapsulacji, a nie abstrakcji. Abstrakcja to sposób projektowania kodu.
Błąd naprawiony! Dzięki
Powiązane pytanie quizowe nadal mówi Abstrakcja.
poprawione
Abstrakcja jest poprawną odpowiedzią. enkapsulacja to powiązanie danych i funkcji z obiektem. Chociaż enkapsulacja ukrywa dane przed resztą programu, pytanie nie dotyczy tego.
proszę poprawić to
dziękuję za tę pomoc
jest to bardzo przydatne dla podstawowych osób odchudzających się
Pytanie nr 4. Proszę o jednokrotne sprawdzenie odpowiedzi. Uważasz, że należy poprawić konstrukcję zdań.
Błąd naprawiony! Dzięki
Dziękuję, to pomocne
Pytanie nr 16
Klasa abstrakcyjna może mieć zarówno metodę abstrakcyjną, jak i nieabstrakcyjną w Javie. jeśli zadeklarujesz metodę abstrakcyjną, obowiązkowe jest zadeklarowanie klasy jako abstrakcyjnej, ale kiedy zadeklarujesz klasę jako abstrakcyjną, nie jest obowiązkowe deklarowanie metody jako abstrakcyjnej w Javie.
Klasa abstrakcyjna może zawierać tylko metodę abstrakcyjną. czy to jest?
jeśli się nie mylę, może zawierać zarówno metodę abstrakcyjną, jak i metodę nieabstrakcyjną.
W odpowiedzi na 31. pytanie new jest operatorem, a nie modyfikatorem….
nowy nie jest operatorem.
Pytanie nr 36 zawiera błędną odpowiedź. Domyślny modyfikator dostępu dla klasy jest wewnętrzny, ale nie prywatny
Myślę, że odpowiedzią na pytanie nr 50 jest Abstrakcja
według mnie odpowiedź na 50 powinna brzmieć Abstrakcja.
Chcę to jako plik PDF
Skrzynka odbiorcza lub e-mail
Jaki jest domyślny modyfikator dostępu w klasie?
-Prawidłowa odpowiedź jest publiczna. Proszę zaktualizować.
To prywatne.
nie, to jest prywatne
Domyślnym modyfikatorem dostępu w klasie jest „Prywatna”.
odpowiedź jest poprawna, domyślny modyfikator dostępu jest prywatny i nie ma potrzeby aktualizacji
odpowiedź jest poprawna, tylko prywatna.
Domyślny modyfikator dostępu jest prywatny w klasie
Nie jestem na 100% pewien, że to prawda.
Domyślny modyfikator dostępu klasy jest prywatny w C++ i publiczny w Javie
Łatwiej to zrozumieć
Dziękuję, bardzo pomogłeś, proszę o sprostowanie
Jaki jest domyślny modyfikator dostępu w klasie?
-Prawidłowa odpowiedź jest publiczna. Proszę zaktualizować.
Naprawdę świetne, pomocne
Podziękowania
Domyślny modyfikator dostępu klasy to Internal.
Domyślny modyfikator dostępu członka klasy to Prywatny.
Proszę popraw to…….
Dziękuję za napisanie. Jest sprawdzany i poprawiany.
Która koncepcja OOPS udostępnia funkcjom wywołującym tylko niezbędne informacje?
Abstrakcja jest poprawną odpowiedzią…..Pokazuje jedynie niezbędne informacje.
Enkapsulacja Ukryj ważne dane przed użytkownikiem końcowym.
Dzięki, jest to dla nas bardziej przydatne
Twoje notatki są bardzo zadowolone, ale musisz przygotować kody z ich rozwiązaniami. Dziękuję za wykład
Wewnętrzne dla klasy i prywatne dla członka klasy. Odpowiedź jest więc częściowo słuszna.
Domyślny modyfikator dostępu dla wszystkich klas najwyższego poziomu, w tym zwykłej klasy, to WEWNĘTRZNY, a nie publiczny ani prywatny.
Jesteś wielki Panie
Proszę pana dalej. Najważniejsze pytania dotyczące
1. Przód
2. Zaplecze
3. Aplikacja na Androida 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏 🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏♥️♥️♥️♥️ ♥️♥️♥️♥️♥️🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏🙏
W jaki sposób 4 filary oop są znaczące i jeśli pominiemy którekolwiek 2 z nich, jaki wpływ będzie to miało na oop? proszę, proszę, proszę o odpowiedź na proste stwierdzenie
bardzo mi pomogłeś, dziękuję
To bardzo pomocne, dziękuję.
Odpowiedź na 50. pytanie jest poprawna, czy powinna to być abstrakcja?
Myślę, że ostatnią odpowiedzią powinna być abstrakcja, a nie enkapsulacja
Myślę, że 50-te jest błędne..
powinna to być abstrakcja (nie enkapsulacja)
powinna to być enkapsulacja, ponieważ ukrywamy szczegóły dla innych klas.
tylko wersja próbna dla XSS
To jest teraz testowanie tutaj
pytanie 16) Klasa abstrakcyjna może zawierać zarówno metody abstrakcyjne, jak i nieabstrakcyjne.
klasa abstrakcyjna ma zarówno abstrakcyjną, jak i nieabstrakcyjną wersję w c, Pythonie, ale w klasie abstrakcyjnej Java ma tylko metodę abstrakcyjną
Dziękuję za dobrą sugestię dotyczącą informacji o języku oop
To bardzo pomocne. Dziękuję!!
klasa abstrakcyjna ma zarówno abstrakcyjną, jak i nieabstrakcyjną wersję w c, Pythonie, ale w klasie abstrakcyjnej Java ma tylko metodę abstrakcyjną
Wielkie dzięki!!
14) Co to jest przeciążanie funkcji?
>> Przeciążanie funkcji jest zwykłą funkcją, ale może wykonywać różne zadania
Nie, to jest źle. Funkcja wykonuje dokładnie to samo zadanie. jedyną różnicą jest liczba lub typ parametrów.
Jeśli funkcja ma nazwę „Dodaj”, powinna dodać, niezależnie od sygnatury funkcji.
Gratulacje, jest bardzo przydatny
konieczna jest jedna czysta funkcja
dziękuję za te pytania. Pomaga mi to przypomnieć sobie wszystkie moje koncepcje.