Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 20706|Odpowiedź: 0

[Źródło] Różnice w C# między klasami abstrakcyjnymi a interfejsami

[Skopiuj link]
Opublikowano 21.06.2016 11:34:25 | | |
Abstrakcyjne klasy i interfejsy
    Podobieństwa:
    (1) może być dziedziczona
    (2) nie może być instancjonowana
    (3) może zawierać deklaracje metod
    (4) Klasa pochodna musi zaimplementować nieimplementowaną metodę
    Kategoria:
    (1) Abstrakcyjne klasy bazowe mogą definiować pola, właściwości i implementacje metod. Interfejsy mogą definiować jedynie atrybuty, indeksery, zdarzenia i deklaracje metod, nie mogą zawierać pól.
    (2) Klasa abstrakcyjna to klasa niekompletna, która wymaga dalszego doprecyzowania, podczas gdy interfejs jest normą behawioralną. Niestandardowe interfejsy Microsoftu zawsze mają odpowiednie pole, które potwierdza, że są wyrazem "Dam radę..." ”
    (3) Interfejsy mogą być implementowane wielokrotnie, a klasy abstrakcyjne mogą być dziedziczone tylko przez jedną osobę
    (4) Klasy abstrakcyjne są bardziej zdefiniowane pomiędzy serią blisko spokrewnionych klas, podczas gdy większość interfejsów to luźno powiązane klasy, które wszystkie implementują określoną funkcję
    (5) Klasy abstrakcyjne to pojęcia abstrahowane z serii powiązanych obiektów, więc odzwierciedlają wewnętrzną wspólnotę rzeczy; Interfejs to konwencja funkcjonalna zdefiniowana w celu spełniania wywołań zewnętrznych, więc odzwierciedla zewnętrzne cechy rzeczy
    (6) Interfejs zasadniczo nie posiada żadnych specyficznych cech dziedziczenia, obiecuje jedynie metody, które można wywołać   
    (7) Interfejsy mogą wspierać wywołania zwrotne, ale dziedziczenie nie posiada tej funkcji
    (8) Konkretne metody zaimplementowane przez klasy abstrakcyjne są domyślnie wirtualne, ale metody interfejsu w klasie implementującej interfejs są domyślnie niewirtualne, oczywiście można je również ogłosić jako wirtualne
    (9) Jeśli klasa abstrakcyjna implementuje interfejs, metoda w interfejsie może być odwzorowana na klasę abstrakcyjną jako metoda abstrakcyjna bez konieczności jej implementacji, a metoda w interfejsie może być zaimplementowana w podklasie klasy abstrakcyjnej








Poprzedni:Wystąpił błąd systemowy nr 5. Dostęp jest odmówiony.
Następny:Dostawca 'Microsoft.Jet.OleDb.4.0' nie jest zarejestrowany na lokalnej maszynie.
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com