Tento příspěvek byl naposledy upraven Delver_Si dne 18. 11. 2014 v 19:43
Kapitola 1 (C#OOP) 1..NET Framework(Ekvivalent.)Javavjdk) 2.zahrnuto2Sekce: Knihovna frameworku (Toolkit),CLR(CTS,CLS) Kapitola 2 (C#OOP) 1.C #Syntaxe: Hlavně kontrast sJavaRozdíl (1) typ dat StrunaStruna:C #z"S"Malé a velké jsou v pořádku, obvykle malé.JavaVelká písmena BooleBool:JavaPsaníBooleovský (2) proměnné a konstanty Vytvořte implicitní proměnnou:VarAlternativní datové typy (viz příklady z učebnic) Definujte konstanty: Přidejte před definováním proměnnýchConst, což znamená, že proměnné lze přiřadit počáteční hodnotu pouze jednou a nelze ji později změnit (3operátor, výraz (aJavaStejně) (4Řídicí příkazy if-else(Stejně.)Java) Přepínání:1.()Můžete použít řetězce k porovnání.JavaV žádném případě 2.každýPřípadPoté to musí být napsánopauza; JavaNemusíš to psát dělej, zatím, pro:( stejnéJava) pro each: C# syntaxe: foreach (název datového typu v poli nebo objektu kolekce) {...} Java syntaxe: for (název datového prvku: pole nebo objekt kolekce) {...} 2.pole (1Totéž platí pro jednorozměrná poleJavaAle[]nelze zapsat za proměnnou (2Vícerozměrná pole2Druhy, jeden druh stejnéhoJava, další:int[,] = nový int[3,3]; 2Význam každého psaní je jiný 3.Enumerace: je vlastní datový typ, podobný typu kolekce s více konstantami (1Syntaxe: Definice: název enum enum {konstanta 1, konstanta 2, konstanta 3,...} Deklarace: vyčíslujte název typu a název proměnné; Inicializace: Název proměnné = Název typu výčtu. konstanta 1; (2Definovaná pozice: vHlavníMetoda napsaná zvenčí, neboTřídaNapsáno na vnější straně 4.Převod datových typů:Konvertovat.ToXXXX(Jakýkoli typ dat); -Převést libovolný typ dat na určený typ dat Kapitola 3 (C#OOP) 1Třída: Počítač simuluje realitu, popisuje abstrakci skutečné věci, a třída je vlastní složený datový typ Zaznamenejte relevantní informace společně pro snadnější ovládání (1) třída2Hlavní členy: atributy, metody (2Definované místo: Obecně vytvořte novéTřídaDokument je psán samostatně nebo na jiných místechTřídaSoubory vedle sebeTřídaNapsat (3Syntax definice: Veřejné třídní jméno { //Vlastnosti publicstring id; veřejné jméno řetězce; //metoda public void study(){ Console.WriteLine("Miluji učení”); } } 2.Objekt: Specifická implementace třídy, popisující konkrétní věc, kterou lze chápat jako proměnnou vlastní třídy (1Instancovaný objekt: (Použití stejné proměnné.)3Kroky) Název třídy Název objektu= novéNázev třídy(); Nebo: Název třídy Název objektu(Název proměnné); //Deklarujte objekt Název objektu= novéNázev třídy(); //Inicializujte tento objekt(proměnná) (2Použitý objekt: Obecně používejte členy objektu (atributy a metody) Použijte atribut: název objektu. Název atributu Jak použít: název objektu. název metody (); 3.Metoda konstrukce: Při instancování objektu použijte "NovéNázev třídy()”,Název třídy()Jedná se o konstrukční metodu používanou ke konstrukci objektů. (1) Metoda konstrukce bude automaticky generována při definování třídy, která je skrytá. (2) Metoda konstrukce může být přepsána a metoda konstrukce se vyvolává například při instanci objektu. Pokud chcete objektu přiřadit počáteční hodnotu, můžete do metody konstrukce přidat parametry 4.Pokud je počáteční hodnota nejistá, lze ji implementovat s přetížením. (Přetížení metody: Stejný název metody, jiný seznam parametrů.)1, číslo;2, typ;3, pořadí) Poznámka: (1) Název metody konstrukce je stejný jako název třídy a není zde žádná návratová hodnota (void není zapsán) (2) Skrytá konstrukční metoda bez parametrů bude po ručním zápisu přepsána. (3) Při obecné definici třídy se používají dvě metody konstrukce: bez parametrů a s parametry přiřazenými všem atributům. 5.Jak rozlišit mezi názvy parametrů metod konstruktů a názvy atributů, pokud jsou stejné? toto: Označuje tento typ objektu. (Předmět aktuální třídy) Při specifikaci atributů použijte toto 6.Jmenný prostor: Ekvivalent složek Pokud je třída umístěna do jiné složky (jmenného prostoru), lze to provést takto:”Název jmenného prostoru.Název třídy”Přístup Může být také napsán na vrcholu třídyPoužitícesty a následující třídy cesty nepotřebují mít 7.Přístupové modifikátory: veřejné: veřejné, dostupné kdekoli interní: Výchozí lze vynechat a lze jej použít ve stejném jmenném prostoru chráněné: chráněné, lze použít mezi třídami rodiče a dítěte Soukromý: Soukromý, jen ty ho můžeš použít 8.Typy hodnot a typy referencí (viz dříve naučenéintRozdíl mezi argumentem pole a pole) Typy hodnot: int, double a dalších osm základních datových typů, enums, structs (naučíme se později) Typ reference: pole, třída Poznámka: Řetězec je speciální, je to typ reference, ale zároveň je to průchod hodnoty 9.Balení a vybalování Bin: Převádí typ hodnoty na referenční typ Unboxing: Převádí typ reference na typ hodnoty Kapitola IV 1. refavenKlíčová slova: Funkce: Předejte proměnnou hodnotového typu jako referenční typ Metoda zápisu: Přičtěte před fyzikálním parametrem a reálným parametremRef(ven) Poznámka:1.Při definování metody,Ref(ven) je zapsán před datovým typem parametru 2.Při volání metody,Ref(venReálný argument po nemůže psát konstanty, ale pouze proměnné 3.refavenRozdíl:venNásledující parametr může být neinicializovaná proměnná,RefV žádném případě 2. statickýModifikátor: statický Kde použít:StatickýNapsáno v přístupovém modifikátoru (Veřejnéatd.). Použité objekty: třídy, vlastnosti, metody Poznámky:1. statickýPři úpravě třídy musí být všechny vlastnosti a metody v této tříděStatickýz 2.PoužitíStatickýVlastnosti a metody modifikace jsou přímo prostřednictvím názvu třídy.atribut (název třídy.metoda) k volání 3.Přetížení metod: ReferenceWinformBody znalostí Kapitola 5 1.Struct: Datový typ podobný třídě (předchůdce třídy) Definice: Stejné jako třída, uvéstTřídaKlíčová slova změněna nastructTo je vše Příklad:struct Student { veřejné jméno struny; Public Void Study() {} } Rozdíly mezi třídami:1.Struktury jsou typy hodnot, třídy jsou referenční typy (zdůraznění) 2.Struktury lze uvolnit bez použitíNovéInscenace musí být použita třídaNové 3.Struktury nelze dědit, třídy lze dědit 2.Atributy: Používají se k zapouzdření proměnných členů ve třídě (přidání některých omezení členům pomocí metod) Syntaxe:soukromý název řetězce; // veřejné jméno řetězce //Věnujte pozornost velkým písmenům prvního písmena { get{ return name; } // Přečíst atributy set{ name = value; } // Zapisovat atributy } Automobilové nemovitosti:3.0Funkce edice a vyšších, jednodušší psaní Syntaxe:public string Jméno { get; set; } 3.Indexer: Používá se k zapouzdření členů proměnné pole v třídě a optimalizaci způsobu, jakým jsou prvky v poli nalezeny Obecně píš2Indexátor druhů Syntax 1: Indexátor indexu dolních indexů veřejný student tohoto [int index] { get{ return students[index]; } set { students[index] = value; } } Syntax 2: Indexer řetězců // Obecně existují pouze vlastnosti čtení, žádné zápisové vlastnosti veřejný Student toto[název řetězce] { Dostaň { Studentstu = nula; foreach (Student s inthis.students) { if(s.Name == jméno) { stu = s; } } returnstu; } } Použití: Název objektu[index]nebo Název objektu[“Struna”] Kapitola 6 1.Delegát: Delegát je datový typ, který lze použít k uložení podpisu metody pomocí proměnné deklarované tímto datovým typem Funkce: Název metody lze předat jako parametr Použití: 1. Definovat delegaci veřejný delegát, vrací hodnota, typ jména delegáta (parametr typu parametru 1,...); 2. Deklarujte a instancujte delegované proměnné (u metody vazby delegátů: typ a seznam parametrů musí být konzistentní) Název typu delegáta Název proměnné delegáta = nový název typu delegáta (podpis metody); Signatura metody () 3. Vyvolání delegace Delegovaný název proměnné (parametr 1,...); Vlastnosti: Delegáti mohou být přiřazeni k více metodám”+=”,Můžete také zrušit zadanou metodu” -=” Anonymní metoda: nedefinuje metodu (bez názvu metody) a přímo váže obsah metody na delegáta 2.Událost: Zapouzdřená delegovaná proměnná (ekvivalentní vztahu mezi atributy a členskými proměnnými ve třídě) Použití: Premisa: Definovat delegaci //Piš mimo jakoukoli třídu 1.Definujte událost (tj. deklarujte zapouzdřenou delegátní proměnnou)//Napsáno ve zdrojovém kódu události Veřejná akceNázev typu objednávky Název incidentu; 2.Přihlásit se k odběru událostí (pro přiřazení metody události) Název incidentu+= novéNázev typu objednávky(Podpis metody); //Přístup pro zasahující při incidentech 3.Vyvolat událost (podobně jako vyvolání delegáta)//Napsáno ve zdrojovém kódu události Název incidentu(parametr1,…); Poznámka: Incidenty se obvykle týkají2Objekty: Zdroje událostí a Zásahoví Kapitola VII 1.Dědičnost: Podtřída (odvozená třída) dědí nadřazenou třídu (základní třídu) a podtřída má atributy a metody nadřazené třídy Syntaxe: (při definování třídy) Podkategorie:Otcovská třída Zvláštnost:1.Jednokořenové. Podtřída může zdědit pouze jednu třídu rodičů Zvláštnost:2.Přenosnost. PokudADědictvíB,BDědictvíC, pakAtaké zděděnéC 2. chráněná:(chráněné) členské proměnné nebo metody upravené tímto způsobem mohou být použity pouze samotným nebo jeho podtřídami 3.Metoda konstrukce v dědičnosti: Nejprve zavolejte rodičovský konstruktor a poté podtřídní konstruktor Metoda 1: Implicitní volání: Ve výchozím nastavení (bez jakékoliv specifikace) podtřída volá konstruktovou metodu nadřazené třídy bez parametrů Metoda 2: Explicitní volání: Specifikujte konstrukční metodu, která volá nadřazenou třídu. public Son (jméno struny, string sex, stringcolor) : základ (jméno, pohlaví) { headColor = barva; } 4. zapečetěno: Pokud vaše třída nechce být zděděna, můžete přidat klíčové slovo 5.Přepisování metod dědičnosti (Přepis(polymorfismus) Syntaxe: Používá se metoda třídy rodičůvirtuální(nebo.)Přepis) modifikace, lze použít podtřídyPřepisPřepiš to Funkce: Referenční případlekce7 Poznámka: Pokud podtřída zdědí třídu rodiče, můžete objekt podřízené třídy umístit do reference nadřazené třídy 6.Těžké zatížení (přetížení) a přepsat (Přepis) rozdíl Rozlišit:1。 Přetížení je třída s více metodami se stejným názvem; Přepisování je metoda ve dvou třídách (rodičovská a podřízená třída) se stejným názvem. 2.Název metody přetížení je stejný, ale seznam parametrů je odlišný; Název metody přepisování je stejný a parametry stejné, použijtevirtuálnímodifikací rodičovské metody,PřepisModifikace metod podtříd Kapitola 8 Abstraktní metoda: použitíAbstraktMetody úpravy srsti 1.Abstraktní třída: použitíAbstraktTřída modifikátoru (Veřejná abstraktní třídaNázev třídy) Zvláštnost:1.Abstraktní třídy nemohou instancovat objekty a mohou být děděny pouze podtřídami 2.Pokud existuje abstraktní metoda ve třídě, pak musí být třída abstraktní; Ale definování abstraktní třídy nemusí nutně obsahovat abstraktní metodu. 3.Abstraktní třídy mohou mít konkrétní metody (neabstraktní metody) 4.Když podtřída zdědí abstraktní třídu, musí implementovat všechny abstrakční metody v abstraktní třídě, pokud tato podtřída není také abstraktní třídou 5.Abstraktní třídy mohou mít metody konstrukce, ale nelze je volat samostatně, jsou volány do podtříd 2.Rozhraní: Definujte standard a specifikaci pomocí klíčového slovarozhraní, rozhraní je datový typ Poznámka:1.Rozhraní může deklarovat pouze metody, vlastnosti, indexery a události 2.Obsah v rozhraní je ve výchozím nastaveníVeřejné, takže není potřeba přidávat modifikátory, pokud to napíšete, zkompiluje chybu 3.Názvy rozhraní jsou psané s velkými písmeny"I"Začátek 4.Pokud třída implementuje rozhraní, pak musí být implementováno vše v rozhraní, pokud třída není abstraktní třída Zvláštnost:1.Rozhraní mohou dědit z více rozhraní (třída může dědit pouze jednu rodičovskou třídu, ale více rozhraní může být implementováno současně) 2.Zděděná třída rodičů musí být zapsána na první pozici po ":" a následující rozhraní musí být oddělena pomocí "," 3.Pokud třída implementuje více rozhraní se stejným názvem metody, mělo by být toto rozhraní implementováno pomocí zobrazení 4.rozhraní mohou být omezena 5. Rozhraní jako parametr, polymorfismus lze také realizovat 3.isajakoPoužití je: Posuzte, zda je objekt určitého typu,Pokud je to návrattrue, pokud nevrátífalse Příklad:if(c je IPrint) jako: Převádí objekt na určitý typ Příklad: IPrint c1 = c jako IPrint; 4.Rozdíl mezi abstraktními třídami a rozhraními (viz učebniceP189)
|