Abstrakcja w JavaScript | Wyjaśnione

Abstrakcja w JavaScript | Wyjaśnione
W JavaScript większość elementów opiera się na „obiekty,”I wykorzystuje„Programowanie obiektowe”(Oop) na swój własny sposób.

Koncepcja Abstrakcja w JavaScript ma ukryć szczegóły implementacji i podkreślić podstawowe funkcje obiektu dla użytkowników. W ten sposób osadzanie abstrakcji w programie JavaScript może zwiększyć czytelność kodu i uniknąć powielania. Podając użytkownikom tylko ważne szczegóły, poprawia także bezpieczeństwo aplikacji.

Nie wiem, jak wdrożyć abstrakcję? Bez obaw! Ten zapis wyjaśni Abstrakcja W JavaScript za pomocą odpowiednich przykładów. A więc zacznijmy!

Streszczenie zajęć w JavaScript

Jeśli klasa obejmuje jedną lub więcej metod abstrakcyjnych, jest znana jako „Klasa abstrakcyjna”A ten rodzaj klasy ma streszczenie, a także zwykłe metody JavaScript. Pamiętaj, aby wdrożyć abstrakcję w klasie, musisz zadeklarować najmniej jedna metoda abstrakcyjna.

Streszczenie metody w JavaScript

W klasie abstrakcyjnej rodzaj metody, która jest jedynie zadeklarowana i nie ma wdrożenia lub „”Ciało funkcjonalne" jest znany jako "Metoda abstrakcyjna". Metodę abstrakcyjną musi zostać zadeklarowana w klasie abstrakcyjnej, podczas gdy jej definicja można dodać w Podklasy.

Teraz zademonstrujemy procedurę tworzenia klasy abstrakcyjnej.

Przykład: Jak tworzyć klasę abstrakcyjną w JavaScript

Po pierwsze, utworzymy funkcję konstruktora o nazwie „Osoba" mający "nazwa" nieruchomość. Stworzone „Osoba„Funkcja będzie działać jako„Klasa abstrakcyjna”:

funkcja person ()
Ten.name = "Alex";
Jeśli to.konstruktor === Osoba)
Rzuć nowy błąd („Twój komunikat o błędzie…”);

;

W następnym kroku zdefiniujemy „informacje ()„Metoda„ dla „Osoba„Klasa abstrakcyjna, która zwraca wartość„nazwa" nieruchomość:

Osoba.prototyp.info = funkcja ()
Zwróć to.nazwa;

Na koniec stworzymy „osoba„Instancja klasy abstrakcyjnej:

var person = nowa osoba ();

Wykonanie dostarczonego kodu spowoduje błąd, ponieważ nie możemy tworzyć obiektów ani instancji klasy abstrakcyjnej:

Teraz rozszerzymy powyższy przykład, wdrażając „Dziedzictwo". W tym celu stworzymy inną funkcję konstruktora, która dziedziczy metody i właściwości „Osoba”Klasa abstrakcyjna.

Przykład: Jak rozszerzyć klasę abstrakcyjną w JavaScript

W tym samym przykładzie zdefiniujemy funkcję konstruktu (podklasa) o nazwie „Nauczyciel„To dziedziczy właściwości i metody utworzonych„Osoba„Klasa za pomocą„Prototypowe łączenie”:

funkcja person ()
Ten.name = "Alex";
Jeśli to.konstruktor === Osoba)
Rzuć nowy błąd („Twój komunikat o błędzie…”);

;
Osoba.prototyp.info = funkcja ()
zwrócić „imię osoby to:” + to.nazwa;

Nauczyciel funkcji (nazwa)
Ten.Nazwa = nazwa;

Nauczyciel.Prototype = obiekt.Utwórz (osoba.prototyp);
var nauczyciel1 = nowy nauczyciel („Stepheny”);
konsola.Log (nauczyciel1.info ());

W takim przypadku wdrożenie „Osoba„Klasa abstrakcyjna jest ukryta, a„Nauczyciel„Podklasa może uzyskać dostęp tylko do„info () ” metoda zwrócenia wartości „nazwa" nieruchomość:

Próbowaliśmy wdrożyć abstrakcję w poprzednich przykładach; Jednak wszystkie właściwości klasy abstrakcyjnej nie są w pełni zadowolone; Ponieważ nie zdefiniowaliśmy jeszcze żadnych abstrakcyjnych metod.

ES6 Wersja JavaScript oferuje wiele ulepszonych funkcji, takich jak tworzenie „Klasa" używając "klasa”Słowo kluczowe i metody wdrażania. Pozwala także zdefiniować metody abstrakcyjne w klasie abstrakcyjnej i rozszerzyć je u dziecka lub podklas za pomocą „Dziedzictwo".

W poniższym przykładzie zaimplementujemy klasę JavaScript Abstract posiadającą określone właściwości.

Przykład: jak zaimplementować abstrakcję w JavaScript

Wykorzystując „klasa„Słowo kluczowe, teraz zdefiniujemy”Osoba„Jako klasa abstrakcyjna, posiadanie„konstruktor()”I„informacje ()”Metoda abstrakcyjna:

Osoba klasowa
Constructor ()
Jeśli to.konstruktor == osoba)
Rzuć nowy błąd („Twój komunikat o błędzie…”);


info ()
Rzuć nowy błąd („Dodana metoda abstrakcyjna nie ma implementacji”);

Następnie utworzymy podklasę „Nauczyciel,”, Który dziedziczy właściwości i metodę„Osoba„Klasa za pomocą„Dziedzictwo”I zdefiniuj wdrożenie metody abstrakcyjnej klasy nadrzędnej„informacje ()" w "Nauczyciel" klasa:

Nauczyciel klasy rozszerza osobę
info ()
konsola.Log („Jestem nauczycielem”);


var nauczyciel1 = nowy nauczyciel ();
Nauczyciel1.info ();

Jak widać, wdrożenie „informacje ()„Metoda jest pomyślnie wykonana:

Jeśli klasa macierzysty abstrakcyjna ”informacje ()„Metoda jest wywoływana w„Nauczyciel„Klasa, spowoduje błąd. Aby zweryfikować ten przypadek, dodaj następującą linię kodu w definicji klasy dziecięcej „informacje ()„Metoda, a następnie ponownie wykonaj program:

Super.info ();

Dane wyjście oznacza, że ​​wykonywanie abstrakcyjnej metody klasy abstrakcyjnej spowoduje błąd:

Opracowaliśmy wszystkie podstawowe informacje związane z abstrakcją w JavaScript.

Wniosek

Abstrakcja W JavaScript można wdrożyć za pomocą Zajęcia abstrakcyjne I Metody abstrakcyjne. W JavaScript klasa abstrakcyjna musi zawierać co najmniej jedną lub więcej deklarowanych metod abstrakcyjnych, podczas gdy jej definicja można dodać w podklasach. Abstrakcja w JavaScript ukrywa skomplikowane i trudne do obliczenia szczegóły systemu podstawowego. Ten zapis wyjaśnił abstrakcję w JavaScript wraz z odpowiednimi przykładami.