Dette indlæg blev sidst redigeret af Delver_Si den 18. november 2014 kl. 19:43
Kapitel 1 (C#OOP) 1..NET-rammeværket(Ækvivalent.)JavaiJDK) 2.Inkluderet2Sektioner: Framework Library (Toolkit),CLR(CTS,CLS) Kapitel 2 (C#OOP) 1.C #Syntaks: Hovedsageligt kontrast medJavaForskellen (1) datatype StrengStreng:C #af"S"Små og store bogstaver er fine, som regel småbogstaver.JavaKapitalisering BooleBool:JavaForfatterskabBoolesk (2) variable og konstanter Opret en implicit variabel:varAlternative datatyper (se lærebogseksempler) Definér konstanter: Læg til, før du definerer variablerconst, hvilket betyder, at variablen kun kan tildeles en startværdi én gang og ikke kan ændres senere (3operator, udtryk (ogJavaSamme her) (4Kontroludsagn Hvis-andet(Ibid.)Java) Skift:1.()Du kan bruge strenge til at sammenligne.JavaPå ingen måde 2.HverSagDerefter skal det skrivespause; JavaDu behøver ikke skrive det Gør et øjeblik, mens:( det sammeJava) foreach: C#-syntaks: foreach (datatype-elementnavn i array eller samlingsobjekt) {...} Java-syntaks: for (datatype-elementnavn: array eller samlingsobjekt) {...} 2.Array (1Det samme gælder for endimensionelle arraysJavaMen[]kan ikke skrives efter en variabel (2Multidimensionelle arrays2Art, én slags sammeJava, en anden:int[,] = ny int[3,3]; 2Betydningen af hver skrift er forskellig 3.Opgørelse: er en brugerdefineret datatype, svarende til en samlingstype med flere konstanter (1Syntaks: Definition: enum enum type navn {konstant 1, konstant 2, konstant 3,...} Deklaration: opregn typenavnets variabelnavn; Initialisér: variabelnavn = opremsningstypenavn. konstant 1; (2Defineret position: iHovedpersonMetode skrevet udenfor, ellerKlasseSkrevet på ydersiden 4.Datatypekonvertering:Konverter.TilXXXX(Enhver type data); -Konverter enhver type data til en bestemt type data Kapitel 3 (C#OOP) 1Klasse: En computer simulerer virkeligheden og beskriver en abstraktion af en virkelig ting, og klassen er en specialudviklet sammensat datatype Registrer de relevante oplysninger sammen for nem betjening (1) klasse2Hovedmedlemmer: attributter, metoder (2Defineret placering: Opret generelt en nyKlasseDokumentet er skrevet separat eller andre stederKlasseFiler sat op ad hinandenKlasseSkriv (3Definitionssyntaks: offentlig klassenavn { //Egenskaber publicstring id; publicstring-navn; //metode public void study(){ Console.WriteLine("Jeg elsker at lære”); } } 2.Objekt: En specifik implementering af en klasse, der beskriver en bestemt ting, som kan forstås som en variabel i en brugerdefineret klasse (1Instansieret objekt: (Brug af samme variabel.)3Trin) Klassenavn Objektnavn= nyKlassenavn(); Eller: Klassenavn Objektnavn(Variabelnavn); //Deklarér et objekt Objektnavn= nyKlassenavn(); //Initialiser dette objekt(variabel) (2Objekt brugt: Brug generelt objektets medlemmer (attributter og metoder) Brug attribut: objektnavn. Attributnavn Sådan bruger man: objektnavn. metodenavn (); 3.Konstruktionsmetode: Når du instansierer et objekt, brug "NyKlassenavn()”,Klassenavn()Det er en konstruktionsmetode, der bruges til at konstruere objekter. (1) Konstruktionsmetoden vil automatisk blive genereret, når klassen defineres, som er skjult. (2) Konstruktionsmetoden kan omskrives, og konstruktionsmetoden kaldes, når objektet for eksempel instansieres. Hvis du vil tildele en startværdi til et objekt, kan du tilføje parametre til konstruktionsmetoden 4.Hvis startværdien er usikker, kan den implementeres med overbelastning. (Metodeoverbelastning: Samme metodenavn, forskellig parameterliste.)1, nummer;2, type;3, ordre) Bemærk: (1) Konstruktionsmetodens navn er det samme som klassenavnet, og der er ingen returværdi (void er ikke skrevet) (2) Den skjulte konstruktionsmetode uden parametre vil blive overskrevet efter manuel skrivning. (3) Når en klasse generelt defineres, vil to konstruktionsmetoder blive brugt: uden parametre og med parametre tildelt alle attributter. 5.Hvordan skelner man mellem konstruktmetodeparametre og attributnavne, hvis de er ens? dette: Angiver denne type objekt. (Objekt for den aktuelle klasse) Når du specificerer attributter, brug dette 6.Navnerum: Svarende til mapper Hvis klassen placeres i en anden mappe (navnerum), kan det gøres ved:”Navnerumsnavn.Klassenavn”Adgang Den kan også skrives øverst i klassenBrug afstier, og de følgende klasser behøver ikke at have stier 7.Adgangsmodifikatorer: offentlig: Offentlig, tilgængelig overalt intern: Standarden, kan udelades, og kan bruges inden for samme navnerum beskyttet: beskyttet, kan bruges mellem forældre- og børneklasser Privat: Privat, kun du kan bruge den 8.Værdityper og referencetyper (se de tidligere lærteintForskellen mellem array og array argumentkald) Værdityper: int, double og otte andre grundlæggende datatyper, enums, structs (som senere skal læres) Referencetype: array, klasse Bemærk: Strengen er speciel, det er en referencetype, men samtidig er det en værdioverførsel 9.Pakning og udpakning Bin: Konverterer værditypen til en referencetype Unboxing: Konverterer referencetypen til en værditype Kapitel IV 1. refogUdNøgleord: Funktion: Overfør variabelen af værditypen som referencetype Skrivemetode: Læg henholdsvis før den fysiske parameter og den reelle parameterRef(Ud) Seddel:1.Når man definerer en metode,Ref(Ud) skrives før parameterdatatypen 2.Når man kalder en metode,Ref(UdDet reelle argument efter kan ikke skrive konstanter, men kun variable 3. refogUdForskellen:UdDen efterfølgende parameter kan være en uinitialiseret variabel,RefPå ingen måde 2. statiskModifikator: statisk Hvor kan man bruge:StatiskSkrevet i adgangsmodifikatoren (Offentligosv.). Anvendte objekter: klasser, egenskaber, metoder Noter:1. statiskNår man ændrer en klasse, skal alle egenskaber og metoder i den klasse væreStatiskaf 2.AnvendelseStatiskEgenskaberne og metoderne til modifikation er direkte via klassenavnet.attribut (klassenavn.metode) til at kalde 3.Overbelastning af metoder: ReferencerWinformVidenspunkter Kapitel 5 1.Struct: Datatype, der ligner en klasse (forgænger for en klasse) Definition: Det samme som klasse, sætKlasseNøgleord ændret tilStructDet er det Eksempel:struct Student { offentlig strengnavn; Offentlig Void-undersøgelse() {} } Forskelle fra klasser:1.Strukturer er værdityper, klasser er referencetyper (fremhævelse) 2.Structs kan undværeNyInstansiering, klassen skal brugesNy 3.Strukturer kan ikke arves, klasser kan arves 2.Attributter: Bruges til at indkapsle medlemsvariabler i klassen (tilføje nogle begrænsninger til medlemmer gennem metoder) Syntaks:privat strengnavn; // offentlig strengnavn //Vær opmærksom på bogstavernes store bogstaver { get{ returner navn; } // Læs attributter set{ navn = værdi; } // Skriv attributter } Bilejendomme:3.0Udgave og derover, funktioner med enklere skrivning Syntaks:offentlig strengnavn { get; sat; } 3.Indekser: Bruges til at indkapsle medlemmerne af en arrayvariabel i en klasse og optimere, hvordan elementer findes i arrayet Skriv generelt2Artsindeksator Syntaks 1: Indekser for indeksering offentlig Studerende dette[int index] { get{ returnerer studenter[index]; } set { students[index] = værdi; } } Syntaks 2: Strengindekser // Generelt er der kun læseegenskaber, ingen skriveegenskaber offentlig Studerende dette[strengnavn] { Få fat { Studentstu = null; foreach(Elev s ithis.students) { hvis(s.Name == navn) { stu = s; } } returnstu; } } Anvendelse: Objektnavn[indeks]eller Objektnavn[“Streng”] Kapitel 6 1.Delegeret: En delegeret er en datatype, der kan bruges til at gemme signaturen for en metode ved en variabel, der er deklareret med denne datatype Funktion: Metodenavnet kan sendes som en parameter Anvendelse: 1. Definér delegering offentlig delegat return value type delegattype (parameter type parameter parameter parameter 1,...); 2. Deklarer og instansier delegerede variabler (for delegatbindingsmetode: returnværditype og parameterliste skal være konsistente) Delegeret typenavn Delegatvariabelnavn = nyt Delegattypenavn (metodesignatur); Metodesignatur gør ikke () 3. Påberåb delegering Delegeret variabelnavn (parameter 1,...); Funktioner: Delegerede kan bindes til flere metoder”+=”,Du kan også fortryde den angivne metode” -=” Anonym metode: definerer ikke en metode (intet metodenavn), og binder direkte metodens indhold til delegerede 2.Begivenhed: Indkapslet delegeret variabel (svarende til forholdet mellem attributter og medlemsvariabler i en klasse) Anvendelse: Præmis: Definér delegering //Skriv uden for enhver klasse 1.Definer en begivenhed (dvs. deklarér en indkapslet delegeretvariabel)//Skrevet i begivenhedskilden Offentlig begivenhedOrdretypenavn Hændelsesnavn; 2.Abonner på begivenheder (for at binde begivenhedsmetoden) Hændelsesnavn+= nyOrdretypenavn(Metodesignatur); //Tilgang for indsatsredningsfolk 3.Rejse en begivenhed (svarende til at påkalde en delegeret)//Skrevet i begivenhedskilden Hændelsesnavn(parameter1,…); Bemærk: Hændelser involverer generelt2Objekter: Hændelseskilder og Indsatsberedere Kapitel VII 1.Arv: Underklassen (afledt klasse) arver forældreklassen (basisklassen), og underklassen har attributterne og metoderne fra forældreklassen Syntaks: (når man definerer en klasse) Underkategorier:Faderklassen Ejendommelighed:1.Enkeltrodet. En underklasse kan kun arve én forældreklasse Ejendommelighed:2.Transmissionsevne. HvisAArvB,BArvC, såAogså arvetC 2. beskyttet:(beskyttede) medlemsvariabler eller metoder, der er modificeret med den, kan kun bruges af den selv eller dens underklasser 3.Konstruktmetode i arv: Kald først forældrekonstruktøren, og derefter børneklassekonstruktøren Metode 1: Implicit kald: Som standard (uden nogen specifikation) vil underklassen kalde forældreklassens konstruktionsmetode uden parametre Metode 2: Eksplicit kald: Angiv en konstruktionsmetode, der kalder forældreklassen. offentlig Søn (strengnavn, strengsex, strengfarve) : base (navn, køn) { headColor = farve; } 4. forseglet: Hvis din klasse ikke ønsker at blive arvet, kan du tilføje det nøgleord 5.Omskrivningsmetoder i arv (Overstyring(polymorfi) Syntaks: Metoden fra forældreklassen anvendesvirtuel(eller.)Overstyring) modifikation, kan underklasser brugesOverstyringOmskriv det Funktion: ReferencetilfældeLektion7 Bemærk: Hvis en børneklasse arver en forældreklasse, kan du lægge et børneklasseobjekt i forældreklassereferencen 6.Tung belastning (Overbelastning) og omskrive (Overstyring) forskel Skelne:1。 Overbelastning er en klasse med flere metoder med samme navn; Omskrivning er en metode i to klasser (forældre- og underklasser) med samme navn. 2.Navnet på overbelastningsmetoden er det samme, men parameterlisten er forskellig; Navnet på omskrivningsmetoden er det samme, og parametrene er de samme, brugvirtuelved at ændre forældremetoden,OverstyringModificerer underklassemetoder Kapitel 8 Abstrakt metode: brugResuméMetoder til grooming 1.Abstrakt klasse: brugResuméModifikatorklasse (Offentlig abstrakt klasseKlassenavn) Ejendommelighed:1.Abstrakte klasser kan ikke instansiere objekter og kan kun arves af underklasser 2.Hvis der findes en abstrakt metode i en klasse, må klassen være en abstrakt klasse; Men at definere en abstrakt klasse behøver ikke nødvendigvis at have en abstrakt metode i sig. 3.Abstrakte klasser kan have konkrete metoder (ikke-abstrakte metoder) 4.Når en underklasse arver en abstrakt klasse, skal den implementere alle abstraktionsmetoder i den abstrakte klasse, medmindre underklassen også er en abstrakt klasse 5.Abstrakte klasser kan have konstruktionsmetoder, men de kan ikke kaldes alene, de kaldes til underklasser 2.Interface: Definer en standard og specifikation med nøgleordetInterface, grænsefladen er en datatype Seddel:1.Grænsefladen kan kun erklære metoder, egenskaber, indeksere og begivenheder 2.Indholdet i brugerfladen er helt standardOffentlig, så der er ikke behov for at tilføje modifikatorer, hvis du skriver det, vil det kompilere en fejl 3.Interfacenavne skrives med store bogstaver"Jeg"Begyndelsen 4.Hvis en klasse implementerer et interface, skal alt i interfacet implementeres, medmindre klassen er en abstrakt klasse Ejendommelighed:1.Grænseflader kan arve fra flere (en klasse kan kun arve én forældreklasse, men flere grænseflader kan implementeres samtidig) 2.Den arvede forældreklasse skal skrives i første position efter ":", og de efterfølgende grænseflader skal adskilles af "," 3.Hvis en klasse implementerer flere grænseflader med samme metodenavn, bør grænsefladen implementeres med en skærm 4.grænseflader kan være bundet 5. Grænsefladen som parameter, polymorfi, kan også realiseres 3.isogsomAnvendelse er: Vurder om et objekt er af en bestemt type,Hvis det er et returtrue, hvis ikke returnerefalse Eksempel:hvis(c er IPrint) som: Konverterer et objekt til en bestemt type Eksempel: IPrint c1 = c som IPrint; 4.Forskellen mellem abstrakte klasser og grænseflader (se lærebogenP189)
|