filary Oop JavaScript
Metody i funkcje Python
Michael Zippo
Jednym z najpopularniejszych typów języków programowania jest OOP, czyli programowanie obiektowe. Duża część świata działa w oparciu o ten paradygmat. A jeśli dopiero zaczynasz swoją karierę techniczną, możesz spodziewać się odpowiedzi na niektóre pytania podczas rozmowy kwalifikacyjnej.
Na początek spróbujmy zrozumieć, jakie języki programowania obiektowego są, a następnie przyjrzymy się niektórym z najczęstszych pytań podczas rozmowy kwalifikacyjnej OOP.
Co to jest OOP?
OOP oznacza programowanie zorientowane obiektowo i jest rodzajem paradygmatu programowania. Języki zorientowane obiektowo – skupiają się na obiektach, a nie na samej logice. Obiekty mogą zawierać zarówno dane, jak i kod, aw wielu obiektowych językach programowania „prawie wszystko jest obiektem.
Te obiekty mogą wchodzić w interakcje ze sobą i ze sobą. Jest odpowiednikiem drugiej głównej gałęzi programowania: programowania funkcjonalnego. W funkcjonalnych językach programowania „Ęã” nacisk kładziony jest na przepływ informacji i ma niezmienne zmienne.
Pytania do wywiadu OOP
Teraz, gdy mamy już pewne informacje na temat programowania obiektowego, przejdźmy w końcu do listy pytań do „Wywiadu POO”.
Wymień niektóre języki programowania obiektowego.
Oto niektóre języki programowania obiektowego „Ęã‚Ęã:
- Python
- C++
- Java
- Ruby
- JavaScript
Co to są filary teorii OOP?
Cztery podstawowe pojęcia to:
- Abstrakcja
- Enkapsulacja
- Dziedziczenie
- Polimorfizm
Co to jest abstrakcja?
Dzięki abstrakcji danych możesz wyodrębnić niewielką ilość odpowiednich danych z większej ilości danych. Pozwala to na pokazywanie i używanie tylko ważnych informacji oraz ukrywanie niektórych szczegółów implementacji.
Co to jest enkapsulacja?
Enkapsulacja odnosi się do idei, że możliwe jest grupowanie danych za pomocą kodu i jest centralną zasadą języków zorientowanych obiektowo. Pozwala także ukryć dane, dzięki czemu tylko obiekt zawierający bezpieczne informacje może uzyskać dostęp do chronionych informacji.
Co to jest dziedziczenie?
Dziedziczenie jest dokładnie tym, na co wygląda. Umożliwia obiektom i klasom kopiowanie danych i funkcji z innych klas nadrzędnych. I może służyć jako szablon dla obiektów i klas.
Co to jest polimorfizm?
Polimorfizm to idea, że coś może pojawić się w wielu formularzy. W przypadku języków zorientowanych obiektowo oznacza to, że raz zaprojektowana instancja kodu może być używana wielokrotnie w wielu sytuacjach.
Co to jest obiekt?
Obiekty to zbiory danych i kodu, które działają bardzo podobnie do obiektów ze świata rzeczywistego. Mogą mieć zarówno właściwości (takie jak kolor, rozmiar lub waga), jak i funkcję (takie jak zszywanie, ocieplanie lub pisanie).
Co to jest klasa?
Klasa to obiekt, który służy jako model dla kilku obiektów, dostarcza definicję bazową i cegiełki do tworzonych za jego pomocą obiektów, i jest jedną z części umożliwiających dziedziczenie, na przykład „soda” lub „komputer” cou ld być klasami, podczas gdy & ls quo; Fanta ` i ` Thinkpad ` mogą być obiektami w ramach tych klas.
Co to jest superklasa?
Nadklasa (nazywana również klasą bazową) jest klasą nadrzędną kilku klas, a nie obiektów. Zwykle zawiera kod podstawowy i dane, których będzie używać każda podstawowa klasa i obiekt. Korzystając z powyższego przykładu, „napój” i „maszyna” mogą być nadklasami dla „napoju gazowanego” i „komputera”.
Co to jest podklasa?
Podklasa to klasa należąca do superklasy. Dziedziczy nadklasę i uważa się, że ma relację „is-a” z nadklasą.
Modyfikatory dostępu wpływają na zakres metody lub zmiennej i zmieniają to, co jest dozwolone, aby zobaczyć i zmodyfikować te metody i zmienne . Należą do nich:
- Prywatne
- Chronione
- Publiczne
- Przyjaciele
- Chronione
Co to jest zapieczętowany modyfikator?
Zapieczętowane modyfikatory to modyfikatory dostępu, które nie mogą być dziedziczone. Zapieczętowane modyfikatory można również stosować do właściwości, zdarzeń i metod.
Co to jest konstruktor ?
O: Konstruktor to metoda używana do tworzenia obiektów lub klas i inicjowania ich stanu w razie potrzeby. Jest wywoływany, gdy obiekt jest tworzony.
Co to jest konstruktor kopiujący?
Konstruktor kopiujący to specjalna metoda, która tworzy obiekt, który jest kopią obiektu.
Co to jest konstruktor parametryczny?
To jest konstruktor, który przekazuje określone parametry do nowego obiektu lub klasy. ;
Co to jest destruktor?
Destruktor to metoda wywoływana, gdy obiekt jest zniszczone.
Co to jest funkcja wbudowana?
Funkcja wbudowana umożliwia kompilatorowi wstawienie całej funkcji wszędzie tam, gdzie jest używana w nieskompilowanym kodzie.
Co to jest funkcja przyjaciela?
Funkcja przyjaciela to funkcja, która umożliwia dostęp do publicznych, prywatnych i bezpiecznych informacji w klasie, z którą „przyjaciel”. Ta funkcja musi być zdefiniowana w powyższej klasie.
Co to jest przeciążenie operatora?
Przeciążenie operatora dodaje dodatkową funkcję kalności dla określonych operatorów klas. Pozwala to na używanie tego samego operatora w różnych przypadkach i wykonywanie różnych funkcji.
Co to jest przeciążenie funkcji?
Przeciążanie funkcji jest bardzo podobne do przeciążania operatora. Oznacza to utworzenie funkcji, która może być używana w różnych sytuacjach i może mieć różne parametry w zależności od tego, gdzie jest używana.
Lista operatorów, których nie można przeciążać
Nie można przeciążyć:
- Rozdzielczość obwodowa (reprezentowana przez `::`)
- Wybór członka (reprezentowana przez `.`)
- Liczba wyboru członków za pomocą wskaźnika funkcji (reprezentowanego przez `. *`)
Co to jest klasa abstrakcyjna?
Klasa abstrakcyjna to specjalny typ klasy, który zawiera jedną lub więcej metod abstrakcyjnych i nie może tworzyć instancji. Klasy abstrakcyjne nie mogą tworzyć obiektów, ale umożliwiają dziedziczenie.
Co to jest interfejs?
Interfejs to zestaw jednej lub więcej metod abstrakcyjnych.
Jaka jest różnica między strukturą a klasą?
Struktura służy do grupowania danych i jest domyślnie publiczna. Klasy grupują zarówno dane, jak i metody i są prywatne. Klasy są również używane do dziedziczenia i enkapsulacji, podczas gdy struktury nie.
Co to jest operator trójargumentowy?
Operator trójargumentowy to operator, który przyjmuje trzy argumenty zamiast dwóch.
Jaka jest metoda finalize?
Metoda finalizacji jest używana do operacji czyszczenia na końcu kodu i oszczędza pamięć poprzez czyszczenie nieużywanych zasobów. Jest chroniony i dostępny tylko za pośrednictwem tej klasy lub podklasy.
Co to jest obsługa wyjątków?
Wyjątki to zdarzenia, które występują podczas wykonywania programu. Te zdarzenia mogą być błędami, wyjątkami w czasie wykonywania, rzucaniem i przechwytywaniem słów kluczowych itp.
Co to jest wczesne wiązanie?
Przewidywanie wiązań L występuje, gdy wartości ‚Ęã‚Ęã są przypisane do zmiennych przed skompilowaniem i wykonaniem programu: bezpośrednio w kodzie.
Co to jest późne wiązanie ?
Późne wiązanie występuje, gdy wartości ‚Ęã‚Ęãsą przypisane do zmiennych po kompilacji programu: podczas lub podczas wykonywania.
Co to jest wiązanie statyczne?
Statyczne wiązanie występuje, gdy typ zmiennej jest określony przez czas kopiowania. Są to zazwyczaj zmienne zdefiniowane wprost w kodzie
Co to jest wiązanie dynamiczne?
Jest to sytuacja, w której typ zmiennej jest określany w czasie wykonywania. Zwykle odbywa się to w sposób niejawny.
Co to jest wskaźnik?
Wskaźnik to adres pamięci, który zawiera dokładną lokalizację rzeczywistej wartości w pamięci komputera.
Do czego służy słowo kluczowe „to”?
„To” odnosi się do bieżącej klasy lub obiektu, w przeciwieństwie do klasy lub obiektu globalnego.
Co to jest funkcja wirtualna?
Funkcja wirtualna jest członkiem swojej klasy i może być przeciążana w klasach pochodnych.
Do czego służy słowo kluczowe „super”?
To specjalne słowo kluczowe, które umożliwia dostęp do metod, które zostały nadpisane.
Co to są tokeny?
Tokeny to instrukcje rozpoznawane przez kompilator, których nie można rozbić w żadnych okolicznościach. Niektóre przykłady tokenów to słowa kluczowe, stałe, identyfikatory, ciągi literałów i operatory.
To oczywiście nie jest pełna lista pytań do wywiadu OOP . Dobra wiedza praktyczna jest zawsze niezbędna, aby rozpocząć pracę w dowolnej dziedzinie przy użyciu języków programowania obiektowego. To tylko kilka pytań, które pobudzą Twoją pamięć i przygotują Cię na trudne pytania, które mogą Ci zadać potencjalni pracodawcy.