Ten post został ostatnio edytowany przez Delver_Si dnia 18 grudnia 2014 o godzinie 19:43
Rozdział 1 (C#OOP) 1..NET Framework(Odpowiednik.)Javawjdk) 2.włączone2Sekcje: Biblioteka Frameworka (Toolkit),CLR(CTS,CLS) Rozdział 2 (C#OOP) 1.C #Składnia: Głównie kontrast zJavaRóżnica (1) typ danych strunaStruna:C #z"S"Małe i wielkie litery są w porządku, zwykle małe.JavaKapitalizacja BooleBool:JavaTwórczośćBoolean (2) zmienne i stałe Stwórz zmienną niejawną:VarAlternatywne typy danych (patrz przykłady podręcznikowe) Zdefiniuj stałe: Dodaj przed zdefiniowaniem zmiennychConst, co oznacza, że zmiennej można przypisać wartość początkową tylko raz i nie można jej później zmodyfikować (3operator, wyrażenie (orazJavaTo samo) (4Instrukcje sterujące if-else(Tamże.)Java) Zmiana:1.()Możesz użyć stringów do porównania.JavaW żadnym bądź razie 2.każdySprawaPotem trzeba to napisaćprzerwę; JavaNie musisz tego pisać do-while, while, for:( tak samoJava) foreach: składnia C#: foreach (nazwa elementu typu danych w tablicy lub obiekcie kolekcji) {...} Składnia Javy: dla (nazwa elementu typu danych: tablica lub obiekt kolekcji) {...} 2.Tablica (1To samo dotyczy jednowymiarowych tablicJava, ale[]nie można zapisywać po zmiennej (2Wielowymiarowe tablice2Gatunki, jeden taki samJava, inny:int[,] = nowy int[3,3]; 2Znaczenie każdego pisma jest inne 3.Enumeracja: to niestandardowy typ danych, podobny do typu zbioru wielu stałych (1Składnia: Definicja: nazwa typu enum {stała 1, stała 2, stała 3,...} Deklaracja: wylicz nazwę zmiennej typu o nazwie zmiennej; Inicjalizuj: Nazwa zmiennej = Nazwa typu enumeracji. stała 1; (2Zdefiniowana pozycja: wGłówneMetoda zapisana na zewnątrz, lubKlasaNapisane na zewnątrz 4.Konwersja typów danych:Convert.ToXXXX(Dowolny rodzaj danych); -Przekonwertowanie dowolnego typu danych na określony typ danych Rozdział 3 (C#OOP) 1Klasa: Komputer symuluje rzeczywistość, opisując abstrakcję rzeczywistego, a klasa jest niestandardowym typem danych złożonych Zapisz odpowiednie informacje razem, aby ułatwić ich obsługę (1) klasa2Główni członkowie: atrybuty, metody (2Zdefiniowana lokalizacja: Zazwyczaj tworzy się nowąKlasaDokument jest pisany osobno lub w innych miejscachKlasaPliki zestawione ze sobąKlasaNapisz (3Składnia definicji: Nazwa klasy publicznej { //Właściwości publicstring id; nazwa publicstring; //metoda public void study(){ Console.WriteLine("Uwielbiam się uczyć”); } } 2.Object: Konkretna implementacja klasy, opisująca konkretną rzecz, którą można rozumieć jako zmienną niestandardowej klasy (1Obiekt instancjonowany: (Użycie tej samej zmiennej.)3Kroki) Nazwa klasy Nazwa obiektu= noweNazwa klasy(); Lub: Nazwa klasy Nazwa obiektu(Nazwa zmiennej); //Zadeklaruj obiekt Nazwa obiektu= noweNazwa klasy(); //Zainicjalizuj ten obiekt(zmienna zmienna) (2Używany obiekt: Zazwyczaj używa się członków obiektu (atrybutów i metod) Użyj atrybutu: nazwa obiektu. Nazwa atrybutu Jak użyć: nazwa obiektu. nazwa metody (); 3.Metoda budowy: Podczas instancji obiektu używaj "NowyNazwa klasy()”,Nazwa klasy()Jest to metoda konstrukcyjna stosowana do konstruowania obiektów. (1) Metoda konstrukcyjna zostanie automatycznie wygenerowana podczas definiowania klasy, która jest ukryta. (2) Metoda konstrukcyjna może zostać przepisana, a metoda konstrukcyjna jest wywoływana podczas instancji obiektu, na przykład. Jeśli chcesz przypisać obiektowi wartość początkową, możesz dodać parametry do metody konstrukcyjnej 4.Jeśli wartość początkowa jest niepewna, można ją zaimplementować z przeciążeniem. (Przeciążenie metodą: Ta sama nazwa metody, inna lista parametrów.)1, numer;2, typ;3, porządek) Uwaga: (1) Nazwa metody konstrukcji jest taka sama jak nazwa klasy i nie ma wartości zwrotnej (void nie jest zapisana) (2) Ukryta metoda konstrukcyjna bez parametrów zostanie nadpisana po ręcznym zapisie. (3) Przy definiowaniu klasy ogólnie stosuje się dwie metody konstrukcji: bez parametrów oraz z parametrami przypisanymi wszystkim atrybutom. 5.Jak odróżnić nazwy parametrów metod konstruktu od nazw atrybutów, jeśli są takie same? to: Wskazuje na tego typu obiekt. (Przedmiot obecnej klasy) Przy określaniu atrybutów użyj tego 6.Przestrzeń nazw: Odpowiednik folderów Jeśli klasa zostanie umieszczona w innym folderze (przestrzeni nazw), można to zrobić poprzez:”Nazwa przestrzeni nazw.Nazwa klasy”Dostęp Może być też napisany na szczycie klasyUżywającścieżek, a kolejne klasy nie muszą mieć ścieżek 7.Modyfikatory dostępu: publiczne: publiczne, dostępne wszędzie wewnętrzne: Domyślna może być pomijana i może być używana w tej samej przestrzeni nazw protected: protected, można używać pomiędzy klasami rodzica i dziecka Prywatny: Prywatny, tylko ty możesz go używać 8.Typy wartości i typy odniesień (odwołuj się do wcześniej poznanychintRóżnica między wywołaniem argumentów tablicy a tablicy) Typy wartości: int, double oraz pozostałe osiem podstawowych typów danych, enumy, struktury (do poznania później) Typ odniesienia: tablica, klasa Uwaga: Ciąg jest specjalny, jest typem odniesienia, ale jednocześnie jest przepustkiem wartości 9.Pakowanie i rozpakowywanie Bin: Konwertuje typ wartości na typ referencyjny Unboxing: Konwertuje typ odniesienia na typ wartości Rozdział IV 1.refikoniecSłowa kluczowe: Funkcja: Przekaż zmienną typu wartości jako typ referencyjny Metoda zapisu: Dodaj odpowiednio przed parametrem fizycznym i rzeczywistymREF(koniec) Nuta:1.Definiując metodę,REF(koniec) jest zapisywany przed typem danych parametru 2.Podczas wywoływania metody,REF(koniecArgument rzeczywisty po nie może zapisywać stałych, a jedynie zmienne 3.refikoniecRóżnica:koniecNastępnym parametrem może być zmienna niezainicjalizowana,REFW żadnym bądź razie 2. statycznyModyfikator: statyczny Gdzie użyć:statyczneZapisane w modyfikatorze dostępu (Publicznośćitd.). Używane obiekty: klasy, właściwości, metody Notatki:1. statycznośćPodczas modyfikacji klasy wszystkie właściwości i metody w tej klasie muszą byćstatyczneof 2.ZastosowaniestatyczneWłaściwości i metody modyfikacji są bezpośrednio pochodzą z nazwy klasy.atrybut (nazwa klasy.metoda) wywoływania 3.Przeciążenie metod: BibliografiaWINFORMPunkty wiedzy Rozdział 5 1.Struct: Typ danych podobny do klasy (poprzednik klasy) Definicja: To samo co klasa, wstawKlasaSłowa kluczowe zmienione nastructTo wszystko Przykład:struct Student { publiczna nazwa struny; Public Void Study() {} } Różnice między klasami:1.Struktury to typy wartości, klasy to typy referencyjne (wyróżnienie) 2.Struktury można zrezygnować bezNowyInstancja, klasa musi być użytaNowy 3.Struktury nie mogą być dziedziczone, klasy mogą być dziedziczone 2.Atrybuty: Używane do enkapsulacji zmiennych członków klasy (dodawania pewnych ograniczeń do członków za pomocą metod) Składnia:nazwa struny prywatnej; // public string Nazwa //Zwróć uwagę na wielką literę pierwszej litery { get{ return name; } // Odczyt atrybutów set{ name = value; } // Zapisz atrybuty } Nieruchomości samochodowe:3.0Funkcje edycji i wyższe, prostsze pismo Składnia:ciąg publiczny Nazwa { get; set; } 3.Indeksator: Używany do enkapsulacji członków zmiennej tablicy w klasie i optymalizacji sposobu wyszukiwania elementów w tablicy Zazwyczaj pisz2Indeksator gatunków Składnia 1: indeksator indeksów dolnych publiczny Student this[int index] { get{ return students[index]; } ustaw { students[index] = value; } } Składnia 2: Indeksator ciągów // Generalnie istnieją tylko właściwości odczytu, a nie właściwości zapisu publiczny Student tego [nazwa struny] { Pobierz { Studentstu = null; foreach (Student s inthis.students) { if(s.Name == imię) { stu = s; } } returnstu; } } Użycie: Nazwa obiektu[indeks]lub Nazwa obiektu[“struna”] Rozdział 6 1.Delegate: Delegate to typ danych, który może być użyty do przechowywania sygnatury metody przez zmienną zadeklarowaną z tym typem danych Funkcja: Nazwa metody może być przekazywana jako parametr Użycie: 1. Zdefiniuj delegowanie publiczna wartość delegata zwraca typ delegata nazwa typu (parametr parametru 1,...); 2. Zadeklaruj i instancjonuj zmienne delegatów (dla metody wiązania delegatów: typ i lista parametrów muszą być spójne) Nazwa typu delegata Nazwa zmiennej delegata = nowa nazwa typu delegata (sygnatura metody); Sygnatura metody nie () 3. Uruchom delegację Nazwa zmiennej delegowanej (parametr 1,...); Cechy: Delegaci mogą być przypisani do wielu metod”+=”,Możesz też cofnąć określoną metodę” -=” Metoda anonimowa: nie definiuje metody (bez nazwy metody) i bezpośrednio wiąże zawartość metody z delegatem 2.Zdarzenie: Enkapsulowana zmienna delegowana (równoważna relacji między atrybutami a zmiennymi członkowskimi w klasie) Użycie: Założenie: Zdefiniuj delegowanie //Pisz poza jakimkolwiek zajęciem 1.Zdefiniuj zdarzenie (czyli zadeklaruj zamkniętą zmienną delegata)//Napisane w źródle wydarzenia Wydarzenie publiczneNazwa typu zamówienia Nazwa zdarzenia; 2.Subskrybuj wydarzenia (aby powiązać metodę zdarzenia) Nazwa zdarzenia+= noweNazwa typu zamówienia(Sygnatura metody); //Podejście dla osób reagujących na zdarzenia 3.Podnieś wydarzenie (podobnie jak wywoływanie delegata)//Napisane w źródle wydarzenia Nazwa zdarzenia(parametr1,…); Uwaga: Incydenty zazwyczaj dotyczą2Obiekty: Źródła zdarzeń i Ratownicy Rozdział VII 1.Dziedziczenie: Podklasa (klasa pochodna) dziedziczy klasę nadrzędną (klasę bazową), a podklasa posiada atrybuty i metody klasy nadrzędnej Składnia: (przy definiowaniu klasy) Podkategorie:Klasa ojcowska Osobliwością:1.Jednozakorzeniony. Podklasa może dziedziczyć tylko jedną klasę nadrzędną Osobliwością:2.Zaraźliwość. JeśliADziedziczenieB,BDziedziczenieC, wtedyArównież dziedziczoneC 2. chroniona:(chronione) zmienne członkowskie lub metody zmodyfikowane nim mogą być używane tylko przez siebie lub jego podklasy 3.Metoda konstruowania w dziedziczeniu: najpierw wywołaj konstruktor nadrzędny, a następnie konstruktor klasy potomnej Metoda 1: Niejawne wywołanie: Domyślnie (bez żadnej specyfikacji) podklasa wywołuje metodę konstruktu klasy nadrzędnej bez parametrów Metoda 2: Wywołanie jawne: Określ metodę konstrukcyjną, która wywołuje klasę nadrzędną. publiczny syn (imię struny, string sex, stringcolor) : baza(imię, płeć) { headColor = color; } 4. zapieczętowane: Jeśli twoja klasa nie chce być dziedziczona, możesz dodać to słowo kluczowe 5.Przepisywanie metod dziedziczenia (Nadpisanie(polimorfizm) Składnia: Stosowana jest metoda klasy nadrzędnejwirtualny(lub.)Nadpisanie) modyfikacji, można stosować podklasyNadpisaniePrzerób to Funkcja: Przypadek referencyjnylekcja 7 Uwaga: Jeśli klasa podrzędna dziedziczy klasę nadrzędną, możesz umieścić obiekt klasy podrzędnej w referencji klasy nadrzędnej 6.Ciężkie obciążenie (przeciążenie) i przepisać (Nadpisanie) różnica Rozróżniać:1。 Przeciążenie to klasa z wieloma metodami o tej samej nazwie; Przerabianie to metoda w dwóch klasach (klasie rodzica i potomka) o tej samej nazwie. 2.Nazwa metody przeciążenia jest taka sama, ale lista parametrów jest inna; Nazwa metody przepisywania jest taka sama, a parametry takie same, użyjwirtualnymodyfikując metodę nadrzędną,NadpisanieModyfikuj metody podklas Rozdział 8 Metoda abstrakcyjna: zastosowaniestreszczenieMetody pielęgnacji 1.Klasa abstrakcyjna: zastosowaniestreszczenieKlasa modyfikatora (Publiczna klasa abstrakcyjnaNazwa klasy) Osobliwością:1.Klasy abstrakcyjne nie mogą instancjonować obiektów i mogą być dziedziczone jedynie przez podklasy 2.Jeśli w klasie istnieje metoda abstrakcyjna, to klasa musi być klasą abstrakcyjną; Ale definiowanie klasy abstrakcyjnej nie musi koniecznie zawierać abstrakcyjnej metody. 3.Klasy abstrakcyjne mogą mieć konkretne metody (metody nieabstrakcyjne) 4.Gdy podklasa dziedziczy klasę abstrakcyjną, musi zaimplementować wszystkie metody abstrakcji w klasie abstrakcyjnej, chyba że podklasa jest również klasą abstrakcyjną 5.Klasy abstrakcyjne mogą posiadać metody konstrukcji, ale nie mogą być wywoływane samodzielnie, są wywoływane do podklas 2.Interfejs: Zdefiniuj standard i specyfikację za pomocą słowa kluczowegointerfejs, interfejs to typ danych Nuta:1.Interfejs może deklarować jedynie metody, właściwości, indeksatory i zdarzenia 2.Zawartość w interfejsie jest domyślniePubliczność, więc nie ma potrzeby dodawania modyfikatorów, jeśli go zapiszesz, skompiluje się błąd 3.Nazwy interfejsów są pisane wielką literą"I"Początek 4.Jeśli klasa implementuje interfejs, to wszystko w tym interfejsie musi być zaimplementowane, chyba że klasa jest klasą abstrakcyjną Osobliwością:1.Interfejsy mogą dziedziczyć z wielu (klasa może dziedziczyć tylko jedną klasę nadrzędną, ale wiele interfejsów może być implementowanych jednocześnie) 2.Dziedziczona klasa rodzica musi być zapisana na pierwszym miejscu po ":", a kolejne interfejsy muszą być oddzielone przez "," 3.Jeśli klasa implementuje wiele interfejsów o tej samej nazwie metody, interfejs ten powinien być zaimplementowany za pomocą wyświetlacza 4.interfejsy mogą być ograniczone 5. Interfejs jako parametr, polimorfizm również może być zrealizowany 3.isijakoZastosowanie jest: Oceń, czy obiekt należy do określonego typu,Jeśli to zwrottrue, jeśli nie wróćfalse Przykład:if(c to IPrint) jako: Przekształca obiekt w określony typ Przykład: IPrint c1 = c jako IPrint; 4.Różnica między klasami abstrakcyjnymi a interfejsami (patrz podręcznikP189)
|