Seda postitust toimetas Delver_Si viimati 2014-11-18 kell 19:43
1. peatükk (C#OOP) 1..NET raamistik(Võrdväärne.)JavaseesJDK) 2.sisaldas2Sektsioonid: Raamistikukogu (tööriistakomplekt),CLR(CTS,CLS) 2. peatükk (C#OOP) 1.C #Süntaks: Peamiselt kontrastJavaErinevus (1) andmetüüp stringKeel:C #of"S"Väikesed ja suured tähed sobivad, tavaliselt väikesed tähed.JavaSuurtähed Boolebool:JavaKirjutamineBoolean (2) muutujad ja konstandid Loo implitsiitne muutuja:VarAlternatiivsed andmetüübid (vt õpiku näiteid) Defineeri konstandid: Lisa enne muutujate defineerimistconst, mis tähendab, et muutujale saab määrata algväärtuse ainult korra ja seda ei saa hiljem muuta (3operaator, avaldis (jaJavaSama) (4Juhtimisväited if-else(Sama allikas.)Java) Lüliti:1.()Võrdlemiseks saab kasutada stringe.JavaPole võimalik 2.igaüksJuhtumPärast seda tuleb see kirja panna.paus; JavaSa ei pea seda kirjutama Vahepeal, seni, selleks:( samaJava) foreach: C# süntaks: foreach (andmetüübi elemendi nimi massiivis või kogu objektis) {...} Java süntaks: for (andmetüübi elemendi nimi: massiivi või kogumiobjekti) {...} 2.massiiv (1Sama kehtib ühemõõtmeliste massiivide kohtaJavaAga[]ei saa kirjutada muutuja järel (2Mitmemõõtmelised massiivid2Liik, üks ja sama liikJava, veel üks:int[,] = uus int[3,3]; 2Iga kirjutise tähendus on erinev 3.Loendamine: on kohandatud andmetüüp, sarnane mitme konstandi kogumitüübile (1Süntaks: Definitsioon: enum enum tüübinimi {konstant 1, konstant 2, konstant 3,...} Deklaratsioon: loetle tüübi nime muutuja nimi; Initsialiseeri: muutuja nimi = loendamistüübi nimi. konstant 1; (2Määratletud asukoht: seesPeamineVäljas kirjutatud meetod, võiklassVäljast kirjutatud 4.Andmetüübi teisendamine:Convert.ToXXXX(Igasugune andmestik); -Teisenda mistahes tüüpi andmed kindlaksmääratud andmetüübiks 3. peatükk (C#OOP) 1Klass: Arvuti simuleerib reaalsust, kirjeldades reaalse asja abstraktsiooni, ja klass on kohandatud komposiitandmetüüp Salvesta asjakohane info kokku, et seda oleks lihtne kasutada (1) klass2Peamised liikmed: atribuudid, meetodid (2Määratletud asukoht: Tavaliselt loo uus asukohtklassDokument on kirjutatud eraldi või muudes kohtadesklassFailid kõrvutiklasskirjuta (3Definitsiooni süntaks: Avaliku klassi nimi { //Omadused publicstring ID; publicstring nimi; //Meetod public void study(){ Console.WriteLine("Mulle meeldib õppida”); } } 2.Objekt: Klassi konkreetne teostus, mis kirjeldab konkreetset asja ja mida saab mõista kohandatud klassi muutujana (1Instantsitud objekt: (Sama muutuja kasutamine.)3Sammud) Klassi nimi Objekti nimi= uusKlassi nimi(); Või: Klassi nimi Objekti nimi(Muutuja nimi); //Deklareeri objekt Objekti nimi= uusKlassi nimi(); //Initsialiseeri see objekt(muutuja) (2Kasutatud objekt: Kasuta üldiselt objekti liikmeid (atribuudid ja meetodid) Kasuta atribuuti: objekti nimi. Atribuudi nimi Kuidas kasutada: objekti nimi. meetodi nimi (); 3.Ehitusmeetod: Objekti instantsimisel kasuta "uusKlassi nimi()”,Klassi nimi()See on konstruktsioonimeetod, mida kasutatakse objektide konstrueerimiseks. (1) Ehitusmeetod genereeritakse automaatselt klassi määratlemisel, mis on peidetud. (2) Ehitusmeetodit saab ümber kirjutada ning ehitusmeetodit kutsutakse välja, näiteks kui objekt instantsieritakse. Kui soovid objektile määrata algväärtuse, saad ehitusmeetodile lisada parameetreid 4.Kui algväärtus on ebakindel, saab seda rakendada ülekoormusega. (Meetodi ülekoormus: sama meetodi nimi, erinev parameetrite nimekiri.)1, number;2, tüüp;3, järjekord) Märkus: (1) Ehitusmeetodi nimi on sama mis klassi nimi ning tagastusväärtust ei ole (void ei ole kirjutatud) (2) Peidetud ehitusmeetod ilma parameetriteta kirjutatakse pärast käsitsi kirjutamist üle. (3) Klassi üldiseks määratlemiseks kasutatakse kahte ehitusmeetodit: ilma parameetriteta ja parameetritega, mis on määratud kõigile atribuutidele. 5.Kuidas eristada konstruktsioonimeetodi parameetrite nimesid ja atribuudi nimesid, kui need on samad? see: Näitab seda tüüpi objekti. (Praeguse klassi objekt) Atribuutide määramisel kasuta seda 6.Nimeruum: Ekvivalentne kaustadega Kui klass paigutatakse teise kausta (nimeruumi), saab seda teha järgmiselt:”Nimeruumi nimi.Klassi nimi”Ligipääs Seda saab kirjutada ka klassi algusesKasutamineteede ja järgnevate klasside jaoks ei pea olema rajad 7.Ligipääsu modifikaatorid: avalik: avalik, kättesaadav igal pool internal: vaikimisi võib välja jätta ja seda saab kasutada samas nimeruumis Kaitstud: kaitstud, saab kasutada vanemate ja laste klasside vahel Privaatne: Privaatne, ainult sina saad seda kasutada 8.Väärtustüübid ja viitetüübid (vt eelnevalt õpitudintMassiivi ja massiivi argumentide kutsumise erinevus) Väärtustüübid: int, double ja teised kaheksa põhilist andmetüüpi, enumid, struktuurid (õpitakse hiljem) Viitetüüp: massiiv, klass Märkus: String on eriline, see on viitetüüp, kuid samal ajal on see väärtuse edastamine 9.Pakkimine ja lahtipakkimine Bin: Teisendab väärtustüübi viitetüübiks Unboxing: Teisendab viitetüübi väärtustüübiks IV peatükk 1.viidejaVäljaMärksõnad: Funktsioon: Edasta väärtustüübi muutuja viitetüübina Kirjutamismeetod: Lisa ette vastavalt füüsikaline parameeter ja reaalne parameetriviide(Välja) Märkus:1.Meetodi määratlemiselviide(Välja) on kirjutatud enne parameetri andmetüüpi 2.Meetodi kutsumisel,viide(VäljaReaalne argument pärast ei saa kirjutada konstante, vaid ainult muutujaid 3.refjaVäljaErinevus:VäljaJärgmine parameeter võib olla initsialiseerimata muutuja,viidePole võimalik 2.staatilineModifikaator: staatiline Kus kasutada:StaatilineKirjutatud juurdepääsumodifikaatoris (avalikjne). Kasutatud objektid: klassid, omadused, meetodid Märkused:1.staatilineKlassi muutmisel peavad kõik selle klassi omadused ja meetodid olemaStaatilineof 2.KasutusStaatilineModifitseerimise omadused ja meetodid on otse klassi nime kaudu.atribuut (klassi nimi.meetod) kutsumiseks 3.Meetodite ülekoormus: ViitedwinformTeadmiste punktid 5. peatükk 1.Struktuur: Andmetüüp, mis sarnaneb klassile (klassi eelkäijale) Definitsioon: Sama mis klass, putklassMärksõnad muudetud kujulstruktuurSee ongi kõik Näide:struktuur Õpilane { avaliku stringi nimi; avaliku tühjuse uuring() {} } Erinevused klassidest:1.Struktuurid on väärtustüübid, klassid viitetüübid (rõhuasetus) 2.Struktuure saab väljastada ilmauusInstantsieerimiseks tuleb klassi kasutadauus 3.Struktuure ei saa pärida, klasse saab pärida 2.Atribuudid: Kasutatakse klassi liikmete muutujate kapseldamiseks (lisada liikmetele piiranguid meetodite kaudu) Süntaks:privaatse stringi nimi; // avaliku stringi nimi //Pööra tähelepanu esimese tähe suurtähele { get{ return name; } // Loe atribuute set{ name = väärtus; } // Kirjuta atribuudid } Auto omadused:3.0Väljaande ja kõrgemad funktsioonid, lihtsam kirjutamine Süntaks:public string Name { get; seatud; } 3.Indekseerija: Kasutatakse massiivimuutuja liikmete kapseldamiseks klassis ja optimeerimiseks, kuidas elemente massiivis leitakse Üldiselt kirjuta2Liigiindekseerija Süntaks 1: Alamindeksi indekseerija avalik õpilane see[intellekt indeks] { get{ return students[index]; } komplekt { students[index] = väärtus; } } Süntaks 2: Stringi indekseerija // Üldiselt on ainult lugemisomadused, mitte kirjutamisomadused avalik õpilane see[string name] { Mine { Studentstu = null; foreach (õpilased selles õpilased) { if(s.Name == nimi) { stu = s; } } returnstu; } } Kasutus: Objekti nimi[indeks]või Objekti nimi[“string”] 6. peatükk 1.Delegaat: Delegaat on andmetüüp, mida saab kasutada meetodi allkirja salvestamiseks muutuja abil, mis on deklareeritud selle andmetüübiga Funktsioon: Meetodi nime saab edastada parameetrina Kasutus: 1. Defineeri delegeerimine avaliku delegaadi tagastuse väärtuse tüüp delegaadi tüübi nimi (parameetri tüüp, parameeter 1,...); 2. Deklareeri ja instantsieeri delegaatmuutujad (delegeeritud sidumismeetodi puhul: tagastusväärtuse tüüp ja parameetrite loend peavad olema kooskõlas) Delegaadi tüübi nimi Delegaadi muutuja nimi = uus delegaadi tüübi nimi (meetodi allkiri); Meetodi allkiri ei ole () 3. Delegeerimise kutsumine Delegeeritud muutuja nimi (parameeter 1,...); Omadused: Delegaate saab siduda mitme meetodiga”+=”,Sa võid ka määratud meetodi tagasi võtta” -=” Anonüümne meetod: ei määra meetodit (ilma meetodi nimeta) ja seob meetodi sisu otse delegaadiga 2.Sündmus: Kapseldatud delegeeritud muutuja (ekvivalentne atribuutide ja liikmesmuutujate vahelise seosega klassis) Kasutus: Eeldus: Määratle delegeerimine //Kirjuta väljaspool mistahes klassi 1.Defineerida sündmus (st deklareerida kapseldatud delegaatmuutuja)//Kirjutatud sündmuse allikas Avalik üritusTellimuse tüübi nimi Juhtumi nimi; 2.Telli sündmused (et siduda sündmuse meetod) Juhtumi nimi+= uusTellimuse tüübi nimi(Meetodi signatuur); //Lähenemine intsidentidele reageerijatele 3.Tõsta sündmus (sarnaselt delegaadi kutsumisele)//Kirjutatud sündmuse allikas Juhtumi nimi(parameeter1,…); Märkus: Juhtumid hõlmavad tavaliselt2Objektid: Sündmuste allikad ja Intsidentidele reageerijad VII peatükk 1.Pärilikkus: Alamklass (tuletatud klass) pärib vanemklassi (baasklass) ning alamklassil on vanemklassi atribuudid ja meetodid Süntaks: (klassi määratlemisel) Alamkategooriad:Isapoolne klass Omapära:1.Ühejuureline. Alamklass saab pärida ainult ühe vanemklassi Omapära:2.Ülekantavus. KuiAPärandB,BPärandC, siisAsamuti pärandatudC 2. kaitstud:(kaitstud) liikmemuutujad või meetodid, mida sellega muudetakse, saab kasutada ainult iseendas või selle alamklassides 3.Konstruktimeetod pärilikkuses: Kutsu esmalt vanemkonstruktor ja seejärel alamklassi konstruktor Meetod 1: Implitsiitne kutse: Vaikimisi (ilma spetsifikatsioonita) kutsub alamklass vanemklassi konstruktsioonimeetodi ilma parameetriteta Meetod 2: Eksplicitne kutse: Määra ehitusmeetod, mis kutsub vanemklassi. avalik poeg (string nimi, string sex, stringcolor) : baas(nimi, sugu) { headColor = värv; } 4. suletud: Kui su klass ei taha pärida, võid lisada selle märksõna 5.Ümberkirjutamismeetodid pärilikkuses (Ülekirjutamine(polümorfism) Süntaks: Kasutatakse vanemklassi meetoditvirtuaalne(või.)Ülekirjutamine) modifikatsioon, võib kasutada alamklasseÜlekirjutamineKirjuta see ümber Funktsioon: ViitejuhtumÕppetund 7 Märkus: Kui lapsklass pärib vanemklassi, siis saab panna alamklassi objekti vanemklassi viite hulka 6.Raske koormus (Ülekoormus) ja kirjuta ümber (Ülekirjutamine) erinevus Eristada:1。 Ülekoormus on klass, millel on mitu sama nimega meetodit; Ümberkirjutamine on meetod, mis koosneb kahest klassist (vanem- ja alamklass), millel on sama nimi. 2.Ülekoormusmeetodi nimi on sama, kuid parameetrite nimekiri on erinev; Ümberkirjutamismeetodi nimi on sama ja parameetrid samad, kasutavirtuaalnemuutes vanemmeetodit,ÜlekirjutamineMuuda alamklassi meetodeid 8. peatükk Abstraktne meetod: kasutamineKokkuvõteHooldusmeetodid 1.Abstraktne klass: kasutusKokkuvõtemodifikaatoriklass (Avalik abstraktne klassKlassi nimi) Omapära:1.Abstraktsed klassid ei saa objekte instantsierida ja neid saavad pärida ainult alamklasside poolt 2.Kui klassis on abstraktne meetod, peab klass olema abstraktne klass; Kuid abstraktse klassi defineerimine ei pea tingimata sisaldama abstraktset meetodit. 3.Abstraktsetel klassidel võivad olla konkreetsed meetodid (mitteabstraktsed meetodid) 4.Kui alamklass pärib abstraktse klassi, peab ta rakendama kõik abstraktse klassi abstraktsed meetodid, välja arvatud juhul, kui alamklass on samuti abstraktne klass 5.Abstraktsetel klassidel võivad olla konstruktsioonimeetodid, kuid neid ei saa iseseisvalt kutsuda, neid kutsutakse alamklassideks 2.Liides: Defineeri standard ja spetsifikatsioon märksõnagaLiides, liides on andmetüüp Märkus:1.Liides saab deklareerida ainult meetodeid, omadusi, indekseerijaid ja sündmusi 2.Liidese sisu on vaikimisi täielikultavalik, seega pole vaja lisada modifikaatoreid, kui kirjutad selle, kompileeritakse vea 3.Liidese nimed on suurtähtedega"I"Algus 4.Kui klass rakendab liidest, siis tuleb kõik liidese elemendid rakendada, välja arvatud juhul, kui klass on abstraktne klass Omapära:1.Liidesed võivad pärida mitmest (klass saab pärida ainult ühe vanemklassi, kuid mitut liidest saab samaaegselt rakendada) 2.Pärandatud vanemklass tuleb kirjutada esimeses kohas pärast ":" ning järgnevad liidesed peavad olema eraldatud "," 3.Kui klass rakendab mitut liidest sama meetodi nimega, tuleks liides realiseerida ekraaniga 4.Liidesed võivad olla seotud 5. Liides kui parameeter, polümorfism on samuti realiseeritud 3.isjakuiKasutus on: Hinda, kas objekt on teatud tüüpi,Kui see on tagastustrue, kui mitte, siis tagastafalse Näide:if(c on IPrint) kui: Teisendab objekti teatud tüüpi Näide: IPrint c1 = c kui IPrint; 4.Abstraktsete klasside ja liideste erinevus (vt õpikutP189)
|