Dit bericht is voor het laatst bewerkt door Delver_Si op 18-11-2014 19:43
Hoofdstuk 1 (C#OOP) 1..NET Framework(Gelijk.)JavainJDK) 2.Inbegrepen2Secties: Framework Library (Toolkit),CLR(CTS,CLS) Hoofdstuk 2 (C#OOP) 1.C #Syntaxis: Voornamelijk contrasteren metJavaHet verschil (1) datatype StringSnaar:C #van"S"Kleine en hoofdletters zijn prima, meestal kleine letters.JavaHoofdlettergebruik BooleBool:JavaSchrijvenBooleans (2) variabelen en constanten Maak een impliciete variabele:VarAlternatieve datatypen (zie voorbeelden uit leerboeken) Definieer constanten: Voeg toe voordat je variabelen definieertConst, wat betekent dat de variabele slechts één keer een beginwaarde kan krijgen en later niet kan worden aangepast (3operator, expressie (enJavaHetzelfde) (4Controle-instructies als-anders(Ibid.)Java) Schakel:1.()Je kunt snaren gebruiken om te vergelijken.JavaEcht niet 2.ElkZaakDaarna moet het worden opgeschrevenpauze; JavaJe hoeft het niet te schrijven do-while, while, voor:( hetzelfdeJava) voor: C#-syntaxis: foreach (naam van het datatype element in array of collectieobject) {...} Java-syntaxis: voor (naam van datatype element: array of collectieobject) {...} 2.Array (1Hetzelfde geldt voor eendimensionale arraysJava, maar[]kan niet na een variabele worden geschreven (2Multidimensionale arrays2Soort, één soort van hetzelfdeJava, nog een:int[,] = nieuwe int[3,3]; 2De betekenis van elk schrift is anders 3.Telling: is een aangepast datatype, vergelijkbaar met een verzamelingstype van meerdere constanten (1Syntaxis: Definitie: enum enum typenaam {constante 1, constante 2, constante 3,...} Declaratie: de naam van de typenaamvariabele opsommen; Initialiseren: variabele naam = enumeratietype naam. constante 1; (2Gedefinieerde positie: inHoofdpersonenMethode buiten geschreven, ofKlasseAan de buitenkant geschreven 4.Gegevenstypeconversie:Convert.ToXXXX(Elke vorm van data); -Converteer elk type data naar een gespecificeerd type data Hoofdstuk 3 (C#OOP) 1Klasse: Een computer simuleert de realiteit, beschrijft een abstractie van een echt ding, en de klasse is een aangepast samengesteld datatype Noteer de relevante informatie samen voor een gemakkelijke bediening (1) klasse2Hoofdleden: attributen, methoden (2Gedefinieerde locatie: Maak meestal een nieuwe aanKlasseHet document is afzonderlijk of op andere plaatsen geschrevenKlasseBestanden naast elkaar geplaatstKlasseschrijf (3Definitiesyntaxis: Naam van de openbare klasse { //Eigenschappen publicstring id; publicstring-naam; //methode public void study(){ Console.WriteLine("Ik hou van leren”); } } 2.Object: Een specifieke implementatie van een klasse, die een specifiek object beschrijft, dat kan worden begrepen als een variabele van een aangepaste klasse (1Geïnstantieerd object: (Gebruik van dezelfde variabele.)3Stapjes) Klassenaam Objectnaam= nieuwKlassenaam(); Of: Klassenaam Objectnaam(Variabele naam); //Verklaar een object Objectnaam= nieuwKlassenaam(); //Initialiseer dit object(variabele) (2Gebruikt object: Gebruik over het algemeen de leden van het object (attributen en methoden) Gebruik attribuut: objectnaam. Attribuutnaam Hoe te gebruiken: objectnaam. Methodenaam (); 3.Bouwmethode: Gebruik bij het instantiëren van een object "NieuwKlassenaam()”,Klassenaam()Het is een constructiemethode die wordt gebruikt om objecten te construeren. (1) De constructiemethode wordt automatisch gegenereerd bij het definiëren van de klasse, die verborgen is. (2) De constructiemethode kan worden herschreven, en de constructiemethode wordt bijvoorbeeld aangeroepen wanneer het object wordt geïnstantieerd. Als je een beginwaarde aan een object wilt toewijzen, kun je parameters toevoegen aan de constructiemethode 4.Als de beginwaarde onzeker is, kan deze worden geïmplementeerd met overload. (Methode-overload: Zelfde methodenaam, andere parameterlijst.)1, nummer;2, type;3, orde) Opmerking: (1) De naam van de constructiemethode is hetzelfde als de klassenaam, en er is geen retourwaarde (void is niet geschreven) (2) De verborgen constructiemethode zonder parameters wordt na handmatig schrijven overschreven. (3) Bij het definiëren van een klasse in het algemeen worden twee constructiemethoden gebruikt: zonder parameters en met parameters toegewezen aan alle attributen. 5.Hoe onderscheid je tussen parameternamen van constructmethodes en attribuutnamen als ze hetzelfde zijn? dit: Geeft dit type object aan. (Object van de huidige klasse) Gebruik dit bij het specificeren van attributen 6.Naamruimte: Gelijk aan mappen Als de klasse in een andere map (naamruimte) wordt geplaatst, kan dit worden gedaan door:”Name van de naamruimte.Klassenaam”Toegang Het kan ook als bovenaan de klas worden geschrevenMet behulp vanpaden, en de volgende klassen hoeven geen paden te hebben 7.Toegangsmodifiers: openbaar: Openbaar, overal beschikbaar intern: De standaard, kan worden weggelaten en kan binnen dezelfde naamruimte worden gebruikt beschermd: beschermd, kan worden gebruikt tussen ouder- en kindklassen Privé: Privé, alleen jij kunt het gebruiken 8.Waardetypen en referentietypen (zie de eerder geleerdeintHet verschil tussen array en array argument call) Waardetypes: int, double en andere acht basisdatatypen, enums, structs (later te leren) Referentietype: array, klasse Opmerking: String is speciaal, het is een referentietype, maar tegelijkertijd een value pass 9.In- en uitpakken Bin: Zet het waardetype om naar een referentietype Unboxing: Zet het referentietype om naar een waardetype Hoofdstuk IV 1. refenUitTrefwoorden: Functie: Geef de variabele van het waardetype door als referentietype Schrijfmethode: Voeg respectievelijk vóór de fysieke parameter en de reële parameter opScheidsrechter(Uit) Notitie:1.Bij het definiëren van een methode,Scheidsrechter(Uit) wordt geschreven vóór het parameterdatatype 2.Bij het aanroepen van een methode,Scheidsrechter(UitHet reële argument daarna kan geen constanten schrijven, maar alleen variabelen 3. refenUitHet verschil:UitDe volgende parameter kan een niet-geïnitialiseerde variabele zijn,ScheidsrechterEcht niet 2. statischModifier: statisch Waar te gebruiken:statischGeschreven in de toegangsmodifier (Publiekenzovoort). Gebruikte objecten: klassen, eigenschappen, methoden Notities:1. statischBij het wijzigen van een klasse moeten alle eigenschappen en methoden in die klasse zijnstatischvan 2.GebruikstatischDe eigenschappen en methoden van modificatie worden direct via de klassenaam weergegeven.ATTRIBUUT (Klassenaam.methode) om aan te roepen 3.Overbelasting van methoden: ReferentiesWinformKennispunten Hoofdstuk 5 1.Struct: Gegevenstype vergelijkbaar met een klasse (voorganger van een klasse) Definitie: Hetzelfde als klasse, putKlasseSleutelwoorden veranderd instructDat is het Voorbeeld:struct Student { publieke snaarnaam; Public Void Study() {} } Verschillen met klassen:1.Structs zijn waardetypes, klassen zijn referentietypen (nadruk) 2.Structs kunnen zonder worden uitgezondenNieuwInstantie, de klasse moet worden gebruiktNieuw 3.Structs kunnen niet worden geërfd, klassen kunnen worden geërfd 2.Attributen: Gebruikt om lidvariabelen in de klasse te encapsuleren (enkele beperkingen aan leden toe te voegen via methoden) Syntaxis:privé-snaarnaam; // publieke string Naam //Let op de hoofdletters van de eerste letter { get{ return name; } // Leesattributen set{ naam = waarde; } // Schrijfattributen } Auto-eigendommen:3.0Editie en hogere functies, eenvoudiger schrift Syntaxis:publieke string Naam { get; set; } 3.Indexer: Gebruikt om de leden van een arrayvariabele in een klasse te encapsuleren en te optimaliseren hoe elementen in de array worden gevonden Schrijf over het algemeen2Soortenindexer Syntaxis 1: Subscriptindexer publiek Student dit[int index] { get{ return students[index]; } set { students[index] = waarde; } } Syntaxis 2: Stringindexer // In het algemeen zijn er alleen leeseigenschappen, geen schrijfeigenschappen publiek Student dit[snaarnaam] { Toevoegen { Studentstu = nul; foreach(Student s inthis.students) { als(s.Name == naam) { stu = s; } } returnstu; } } Gebruik: Objectnaam[index]of Objectnaam[“String”] Hoofdstuk 6 1.Delegate: Een delegate is een datatype dat kan worden gebruikt om de handtekening van een methode op te slaan door een variabele die met dit datatype is gedeclareerd Functie: De methodnaam kan als parameter worden doorgegeven Gebruik: 1. Definieer delegatie publieke delegate return value type gedelegeerde type naam (parameter type parameter parameter 1,...); 2. Declareer en instantieer delegatevariabelen (voor delegate bindingsmethode: retourwaardetype en parameterlijst moeten consistent zijn) Delegatetypenaam Delegatevariabelnaam = nieuwe Delegatetypenaam (methodehandtekening); Methodehandtekening doet niet () 3. Delegatie inroepen Gedelegeerde variabelenaam (parameter 1,...); Functies: Delegates kunnen aan meerdere methoden worden gekoppeld”+=”,Je kunt de opgegeven methode ook ongedaan maken” -=” Anonieme methode: definieert geen methode (geen methodenaam), en bindt de inhoud van de methode direct aan de delegate 2.Gebeurtenis: Ingekapselde gedelegeerde variabele (equivalent aan de relatie tussen attributen en lidvariabelen in een klasse) Gebruik: Premisse: Definieer delegatie //Schrijf buiten elke klas 1.Definieer een gebeurtenis (d.w.z. declareer een ingekapselde delegatevariabele)//Geschreven in de gebeurtenisbron Openbaar evenementNaam van het besteltype Naam van het incident; 2.Abonneer je op evenementen (om de gebeurtenismethode te binden) Naam van het incident+= nieuwNaam van het besteltype(Methodehandtekening); //Aanpak voor incidenthulpverleners 3.Een evenement oproepen (vergelijkbaar met het oproepen van een afgevaardigde)//Geschreven in de gebeurtenisbron Naam van het incident(parameter1,…); Opmerking: Incidenten betreffen doorgaans2Objecten: Gebeurtenisbronnen en Incidenthulpverleurs Hoofdstuk VII 1.Overerving: De subklasse (afgeleide klasse) erft de ouderklasse (basisklasse), en de subklasse heeft de attributen en methoden van de ouderklasse Syntaxis: (bij het definiëren van een klasse) Subcategorieën:Vaderlijke klasse Eigenaardigheid:1.Enkelwortel. Een subklasse kan slechts één ouderklasse erven. Eigenaardigheid:2.Overdraagbaarheid. AlsAErfenisB,BErfenisC, danAook geërfdC 2. beschermd:(beschermde) lidvariabelen of methoden die ermee zijn aangepast, kunnen alleen door zichzelf of zijn subklassen worden gebruikt 3.Constructmethode in erfenis: Roep eerst de ouder-constructor aan, en roep daarna de kind-klasse constructor aan Methode 1: Impliciete aanroep: Standaard (zonder enige specificatie) roept de subklasse de constructmethode van de ouderklasse aan zonder parameters Methode 2: Expliciete aanroep: Specificeer een constructiemethode die de ouderklasse aanroept. publieke zoon (snaarnaam, snaargeslacht, snaarkleur) : basis (naam, geslacht) { hoofdkleur = kleur; } 4. verzegeld: Als je klasse niet geërfd wil worden, kun je dat trefwoord toevoegen 5.Herschrijfmethoden in overerving (Override(polymorfisme) Syntaxis: De methode van de ouderklasse wordt gebruiktvirtueel(of.)Override) modificatie, subklassen kunnen worden gebruiktOverrideHerschrijf het Functie: ReferentiegevalLes7 Opmerking: Als een kindklasse een ouderklasse erft, kun je een kindklasseobject in de referentie van de ouderklasse plaatsen 6.Zware belasting (Overbelasting) en herschrijven (Override) verschil Onderscheiden:1。 Overloading is een klasse met meerdere methoden met dezelfde naam; Herschrijven is een methode in twee klassen (ouder- en kindklassen) met dezelfde naam. 2.De naam van de overload-methode is hetzelfde, maar de parameterlijst is anders; De naam van de herschrijfmethode is hetzelfde, en de parameters zijn hetzelfde, gebruikvirtueelwaarbij de oudermethode wordt aangepast,OverrideModificeer subklasse-methoden Hoofdstuk 8 Abstracte methode: gebruikSamenvattingMethoden van verzorging 1.Abstracte klasse: gebruikSamenvattingModifierklasse (Openbare abstracte klasseKlassenaam) Eigenaardigheid:1.Abstracte klassen kunnen geen objecten instantiëren en kunnen alleen worden geërfd door subklassen 2.Als er een abstracte methode in een klasse is, dan moet de klasse een abstracte klasse zijn; Maar het definiëren van een abstracte klasse hoeft niet per se een abstracte methode te bevatten. 3.Abstracte klassen kunnen concrete methoden hebben (niet-abstracte methoden) 4.Wanneer een subklasse een abstracte klasse erft, moet zij alle abstractiemethoden in die abstracte klasse implementeren, tenzij de subklasse ook een abstracte klasse is 5.Abstracte klassen kunnen constructiemethoden hebben, maar ze kunnen niet op zichzelf worden aangeroepen, ze worden naar subklassen aangeroepen 2.Interface: Definieer een standaard en specificatie met het trefwoordInterface, interface is een datatype Notitie:1.De interface kan alleen methoden, eigenschappen, indexers en gebeurtenissen declareren 2.De inhoud in de interface is standaard volledigPubliek, dus er is geen noodzaak om modifiers toe te voegen, als je het schrijft, zal er een fout worden gecompileerd 3.Interfacenamen worden met hoofdletters geschreven"Ik"Begin 4.Als een klasse een interface implementeert, moet alles in de interface geïmplementeerd zijn, tenzij de klasse een abstracte klasse is Eigenaardigheid:1.Interfaces kunnen van meerdere erven (een klasse kan slechts één ouderklasse erven, maar meerdere interfaces kunnen tegelijkertijd worden geïmplementeerd) 2.De geërfde ouderklasse moet op de eerste plaats na ":" worden geschreven, en de daaropvolgende interfaces moeten gescheiden worden door "," 3.Als een klasse meerdere interfaces met dezelfde methodenaam implementeert, moet de interface worden geïmplementeerd met een display 4.Interfaces kunnen worden gebonden 5. De interface als parameter, polymorfisme, kan ook worden gerealiseerd 3.isenalsGebruik is: Beoordeel of een object een bepaald type is,Als het een retour istrue, als niet retournerenfalse Voorbeeld:als(c is IPRINT) als: Zet een object om in een bepaald type Voorbeeld: IPrint c1 = c als IPrint; 4.Het verschil tussen abstracte klassen en interfaces (zie het leerboekP189)
|