Dette innlegget ble sist redigert av Delver_Si 18.11.2014 kl. 19:43
Kapittel 1 (C#OOP) 1..NET-rammeverket(Ekvivalent.)Javaijdk) 2.Inkludert2Seksjoner: Rammeverksbibliotek (verktøykasse),CLR(CTS,CLS) Kapittel 2 (C#OOP) 1.C #Syntaks: Hovedsakelig i kontrast tilJavaForskjellen (1) datatype StrengStreng:C #av"S"Små og store bokstaver er greit, vanligvis små bokstaver.JavaKapitalisering BooleBool:JavaSkrivingBoolesk (2) variabler og konstanter Lag en implisitt variabel:VarAlternative datatyper (se lærebokeksempler) Definer konstanter: Legg til før du definerer variablerconst, som betyr at variabelen bare kan tildeles en startverdi én gang og ikke kan endres senere (3operator, uttrykk (ogJavaSamme her) (4Kontrollutsagn Hvis-annet(Ibid.)Java) Bytte:1.()Du kan bruke strenger for å sammenligne.JavaAldri verden 2.HverSakEtter det må det skrivespause; JavaDu trenger ikke å skrive det Gjør-mens, mens, for:( det sammeJava) foreach: C#-syntaks: foreach (datatype-elementnavn i array eller samlingsobjekt) {...} Java-syntaks: for (datatype-elementnavn: array eller samlingsobjekt) {...} 2.Array (1Det samme gjelder for endimensjonale matriserJavamen[]kan ikke skrives etter en variabel (2Multidimensjonale matriser2Art, én slags sammeJava, en annen:int[,] = ny int[3,3]; 2Betydningen av hver skrift er forskjellig 3.Opptelling: er en egendefinert datatype, lik en samlingstype med flere konstanter (1Syntaks: Definisjon: enum enum typenavn {konstant 1, konstant 2, konstant 3,...} Deklarasjon: enumrer typenavnvariabelens navn; Initialiser: variabelnavn = enumerasjonstype navn. konstant 1; (2Definert posisjon: iHovedpersonMetode skrevet utenfor, ellerKlasseSkrevet på utsiden 4.Datatypekonvertering:Convert.ToXXXX(Enhver type data); -Konverter hvilken som helst type data til en spesifisert type data Kapittel 3 (C#OOP) 1Klasse: En datamaskin simulerer virkeligheten, og beskriver en abstraksjon av en virkelig ting, og klassen er en egendefinert sammensatt datatype Registrer relevant informasjon sammen for enkel drift (1) klasse2Hovedpersoner: attributter, metoder (2Definert lokasjon: Opprett vanligvis en nyKlasseDokumentet er skrevet separat eller andre stederKlasseFiler satt opp mot hverandreKlasseskriv (3Definisjonssyntaks: offentlig klassenavn { //Egenskaper publicstring id; publicstring-navn; //metode public void study(){ Console.WriteLine("Jeg elsker å lære”); } } 2.Objekt: En spesifikk implementering av en klasse, som beskriver en spesifikk ting, og som kan forstås som en variabel i en egendefinert klasse (1Instansiert objekt: (Bruk av samme variabel.)3Trinn) Klassenavn Objektnavn= nyKlassenavn(); Eller: Klassenavn Objektnavn(Variabelnavn); //Erklær et objekt Objektnavn= nyKlassenavn(); //Initialiser dette objektet(variabel) (2Objekt brukt: Bruk generelt medlemmene i objektet (attributter og metoder) Bruk attributt: objektnavn. Attributtnavn Hvordan bruke: objektnavn. metodenavn (); 3.Byggemetode: Når du instansierer et objekt, bruk "NyKlassenavn()”,Klassenavn()Det er en konstruksjonsmetode som brukes til å konstruere objekter. (1) Konstruksjonsmetoden vil automatisk bli generert når klassen defineres, som er skjult. (2) Konstruksjonsmetoden kan omskrives, og konstruksjonsmetoden kalles når objektet instansieres, for eksempel. Hvis du vil tilordne en startverdi til et objekt, kan du legge til parametere i konstruksjonsmetoden 4.Hvis startverdien er usikker, kan den implementeres med overbelastning. (Metodeoverbelastning: Samme metodenavn, annen parameterliste.)1, nummer;2, type;3, ordre) Merk: (1) Navnet på konstruksjonsmetoden er det samme som klassenavnet, og det finnes ingen returverdi (void er ikke skrevet) (2) Den skjulte konstruksjonsmetoden uten parametere vil bli overskrevet etter manuell skriving. (3) Når man definerer en klasse generelt, brukes to konstruksjonsmetoder: uten parametere og med parametere tildelt alle attributter. 5.Hvordan skille mellom parameternavn for konstruksjonsmetoder og attributtnavn hvis de er like? dette: Indikerer denne typen objekt. (Objekt for den nåværende klassen) Når du spesifiserer attributter, bruk dette 6.Navnerom: Tilsvarende mapper Hvis klassen plasseres i en annen mappe (navnerom), kan det gjøres ved:”Navneromsnavn.Klassenavn”Adkomst Den kan også skrives øverst i klassenBruk avstier, og de påfølgende klassene trenger ikke å ha stier 7.Tilgangsmodifikatorer: offentlig: Offentlig, tilgjengelig hvor som helst intern: Standard, kan utelates, og kan brukes innenfor samme navnerom beskyttet: beskyttet, kan brukes mellom foreldre- og barneklasser Privat: Privat, bare du kan bruke den 8.Verdityper og referansetyper (se de tidligere lærteIntForskjellen mellom array og array argumentkall) Verdityper: int, double og åtte andre grunnleggende datatyper, enums, structs (læres senere) Referansetype: array, klasse Merk: Streng er spesiell, det er en referansetype, men samtidig er det en verdipass 9.Pakking og utpakking Bin: Konverterer verditypen til en referansetype Unboxing: Konverterer referansetypen til en verditype Kapittel IV 1. refogUtNøkkelord: Funksjon: Send variabelen av verditypen som referansetype Skrivemetode: Legg til før henholdsvis den fysiske parameteren og den reelle parameterenDommer(Ut) Notat:1.Når man definerer en metode,Dommer(Ut) skrives før parameterdatatypen 2.Når man kaller en metode,Dommer(UtDet reelle argumentet etter kan ikke skrive konstanter, men kun variabler 3. refogUtForskjellen:UtDen påfølgende parameteren kan være en uinitialisert variabel,DommerAldri verden 2. statiskModifikator: statisk Hvor du kan bruke:StatiskSkrevet i aksessmodifikatoren (Offentligosv.). Brukte objekter: klasser, egenskaper, metoder Notater:1. statiskNår man modifiserer en klasse, må alle egenskapene og metodene i den klassen væreStatiskav 2.BrukStatiskEgenskapene og modifikasjonsmetodene er direkte via klassenavnet.attributt (klassenavn.metode) for å kalle 3.Overbelastning av metoder: ReferanserWinformKunnskapspunkter Kapittel 5 1.Struct: Datatype lik en klasse (forgjenger til en klasse) Definisjon: Samme som klasse, putKlasseNøkkelord endret tilStructDet er det Eksempel:struct Student { offentlig strengnavn; Public Void Study() {} } Forskjeller fra klasser:1.Structs er verdityper, klasser er referansetyper (utheving) 2.Structs kan dispenseres utenNyInstansiering, klassen må brukesNy 3.Strukturer kan ikke arves, klasser kan arves 2.Attributter: Brukes til å kapsle inn medlemsvariabler i klassen (legge til noen restriksjoner på medlemmer gjennom metoder) Syntaks:privat strengnavn; // offentlig strengnavn //Vær oppmerksom på store bokstaver i den første bokstaven { get{ returner navn; } // Les attributter set{ navn = verdi; } // Skriv attributter } Bileiendommer:3.0Utgave og over funksjoner, enklere skriving Syntaks:offentlig strengnavn { get; sett; } 3.Indekser: Brukes til å kapsle inn medlemmene av en arrayvariabel i en klasse og optimalisere hvordan elementer finnes i arrayet Skriv generelt2Artsindekser Syntaks 1: Indekser for indeksering offentlig Student dette[int index] { get{ return students[index]; } set { students[index] = verdi; } } Syntaks 2: Strengindekser // Generelt finnes det bare leseegenskaper, ingen skriveegenskaper offentlig Student this[strengnavn] { Få tak { Studentstu = null; foreach(Student s inthis.students) { hvis(s.Name == navn) { stu = s; } } returnstu; } } Bruk: Objektnavn[indeks]eller Objektnavn[“Streng”] Kapittel 6 1.Delegat: En delegat er en datatype som kan brukes til å lagre signaturen til en metode av en variabel deklarert med denne datatypen Funksjon: Metodenavnet kan sendes som en parameter Bruk: 1. Definer delegasjon offentlig delegat returverdi type delegattype navn (parametertype parameter 1,...); 2. Deklarere og instansiere delegatvariabler (for delegatbindingsmetode: return-verditype og parameterliste må være konsistente) Delegattypenavn Delegatvariabelnavn = nytt Delegattypenavn (metodesignatur); Metodesignatur gjør ikke () 3. Påberope delegasjon Delegert variabelnavn (parameter 1,...); Funksjoner: Delegater kan bindes til flere metoder”+=”,Du kan også angre den angitte metoden” -=” Anonym metode: definerer ikke en metode (ingen metodenavn), og binder direkte metodens innhold til delegaten 2.Hendelse: Innkapslet delegert variabel (tilsvarende forholdet mellom attributter og medlemsvariabler i en klasse) Bruk: Premiss: Definer delegering //Skriv utenfor en hvilken som helst klasse 1.Definer en hendelse (dvs. erklære en innkapslet delegatvariabel)//Skrevet i hendelseskilden Offentlig arrangementOrdenstype navn Hendelsesnavn; 2.Abonner på hendelser (for å binde hendelsesmetoden) Hendelsesnavn+= nyOrdenstype navn(Metodesignatur); //Tilnærming for hendelsesrespondenter 3.Ta opp en hendelse (lignende som å påkalle en delegat)//Skrevet i hendelseskilden Hendelsesnavn(parameter1,…); Merk: Hendelser involverer vanligvis2Objekter: Hendelseskilder og Hendelsesrespondenter Kapittel VII 1.Arv: Underklassen (den avledede klassen) arver foreldreklassen (basisklassen), og underklassen har attributtene og metodene til foreldreklassen Syntaks: (når man definerer en klasse) Underkategorier:Farsklasse Eiendommelighet:1.Enkeltrotet. En underklasse kan bare arve én foreldreklasse Eiendommelighet:2.Smittsomhet. HvisAArvB,BArvC, daAogså arvetC 2. beskyttet:(beskyttet) medlemsvariabler eller metoder modifisert med den kan kun brukes av den selv eller dens underklasser 3.Konstruktmetode i arv: Kall først foreldrekonstruktøren, og deretter barneklassekonstruktøren Metode 1: Implisitt kall: Som standard (uten noen spesifikasjon) vil underklassen kalle foreldreklassens konstruksjonsmetode uten parametere Metode 2: Eksplisitt kall: Spesifiser en konstruksjonsmetode som kaller foreldreklassen. offentlig Sønn (strengnavn, strengkjønn, strengfarge) : base (navn, kjønn) { headColor = farge; } 4.forseglet: Hvis klassen din ikke vil arves, kan du legge til det nøkkelordet 5.Omskrivingsmetoder i arv (Overstyring(polymorfisme) Syntaks: Metoden til foreldreklassen brukesvirtuell(eller.)Overstyring) modifikasjon, kan underklasser brukesOverstyringSkriv det om Funksjon: Referansetilfelleleksjon7 Merk: Hvis en barneklasse arver en foreldreklasse, kan du legge et barneklasseobjekt i referansen til foreldreklassen 6.Tung last (Overbelastning) og omskrive (Overstyring) forskjell Skjelne:1。 Overbelastning er en klasse med flere metoder med samme navn; Omskriving er en metode i to klasser (foreldre- og barneklasser) med samme navn. 2.Navnet på overbelastningsmetoden er det samme, men parameterlisten er annerledes; Navnet på omskrivingsmetoden er det samme, og parameterne er de samme, brukvirtuellved å modifisere foreldremetoden,OverstyringModifiser underklassemetoder Kapittel 8 Abstrakt metode: brukSammendragMetoder for grooming 1.Abstrakt klasse: brukSammendragModifikatorklasse (Offentlig abstrakt klasseKlassenavn) Eiendommelighet:1.Abstrakte klasser kan ikke instansiere objekter og kan kun arves av underklasser 2.Hvis det finnes en abstrakt metode i en klasse, må klassen være en abstrakt klasse; Men å definere en abstrakt klasse trenger ikke nødvendigvis å ha en abstrakt metode i seg. 3.Abstrakte klasser kan ha konkrete metoder (ikke-abstrakte metoder) 4.Når en underklasse arver en abstrakt klasse, må den implementere alle abstraksjonsmetoder i den abstrakte klassen, med mindre underklassen også er en abstrakt klasse 5.Abstrakte klasser kan ha konstruksjonsmetoder, men de kan ikke kalles alene, de kalles til underklasser 2.Grensesnitt: Definer en standard og spesifikasjon med nøkkelordetGrensesnitt, grensesnittet er en datatype Notat:1.Grensesnittet kan kun erklære metoder, egenskaper, indeksere og hendelser 2.Innholdet i grensesnittet er helt som standardOffentlig, så det er ikke nødvendig å legge til modifikatorer, hvis du skriver det, vil det kompilere en feil 3.Grensesnittnavn skrives med store bokstaver"I"Begynnelsen 4.Hvis en klasse implementerer et grensesnitt, må alt i grensesnittet implementeres, med mindre klassen er en abstrakt klasse Eiendommelighet:1.Grensesnitt kan arve fra flere (en klasse kan bare arve én foreldreklasse, men flere grensesnitt kan implementeres samtidig) 2.Den arvede foreldreklassen må skrives i første posisjon etter ":", og de påfølgende grensesnittene må separeres med "," 3.Hvis en klasse implementerer flere grensesnitt med samme metodenavn, bør grensesnittet implementeres med en skjerm 4.grensesnitt kan være bundet 5. Grensesnittet som parameter, polymorfi, kan også realiseres 3.isogsomBruk er: Vurder om et objekt er av en bestemt type,Hvis det er en returtrue, hvis ikke returnererfalse Eksempel:hvis(c er IPrint) som: Konverterer et objekt til en bestemt type Eksempel: IPrint c1 = c som IPrint; 4.Forskjellen mellom abstrakte klasser og grensesnitt (se lærebokenP189)
|