Ogrodje NET Temelj za izgradnjo aplikacij nove generacije
- Slides: 79
Ogrodje. NET • Temelj za izgradnjo aplikacij nove generacije – Nov celovit programski model – Temelji na standardih – Korak proti integraciji • Ogrodje. NET sestavlja: – Skupno izvajalno okolje (Common Language Runtime - CLR) – Knjižnica razredov. NET • Microsoft-ova implementacija CLI-ja (CLI – Common Language Infrastructure)
Ogrodje. NET • Ogrodje. NET – skupno izvajalno okolje (CLR) – knjižnica razredov. NET –. . . Common Language Specification Web Services ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Operating System
Ogrodje. NET VB C++ C# JScript … Common Language Specification Web Services ASP. NET Windows Forms ADO. NET and XML Base Class Library Common Language Runtime Operating System
Vsebina
Značilnosti C#
Novosti v C#
Hello world
Živjo svet- Značilnosti • using in namespace – organizacija kode – manj imenskih konfliktov • class – vse je v razredih (ali njihovih variacijah) • Main – vhodna točka programa v eni izmed štirih različic – static: metoda razreda (in ne objektov) • Console. Write. Line(". . . ") – uporaba razreda in njegove metode iz knjižnice – knjižnica ni del C#
Struktura programov C#
Program, sestavljen iz dveh datotek
Tipi
Poenoten sistem tipov
Vrednostni tipi: sklicni tipi
Tipi Klasifikacija • Vrednostni tipi (value types) – spremenljivka hrani sámo vrednost – vrednost shranjena na skladu (ali "inline") – prirejanje je kopiranje vrednosti • Sklicni tipi (reference types) – spremenljivka hrani sklic na vrednost – vrednost shranjena na kopici – prirejanje je kopiranje sklica – podvrženi smetarju – sem sodijo tudi kazalčni tipi (pointer types) • uporablja se le v posebnih okoliščinah • niso podvrženi smetarju
Tipi Vrednostni tip
Tipi Sklicni tip
Preprosti tipi
Kompatibilnost med preprostimi tipi
Naštevni tipi (enumeration types)
Operacije na naštevnih vrednostih
Polja
Večdimenzijska polja
Razred System. String
Strukture
Razredi
Razlike med razredi in strukturami
Boxing in unboxing • Boxing uporabljamo, ko pri vrednostnih tipih potrebujemo sklic (referenco) – na primer: polje mešanih tipov = polje nad tipom object – Java to rešuje z razredi primitivnih tipov • V C# so tudi vrednostni tipi izpeljani iz razreda object – ni preprek, da ne bi do vrednostnih tipov dostopali preko sklica int value; object boxed. Value = value; //boxing value = (int)boxed. Value; //unboxing
Boxing in unboxing
Boxing in unboxing
Izrazi
Izrazi in operatorji • Večina operatorjev je enakih kot pri C++ in Javi – – logični && || ^ aritmetični * / + - % << >> primerjalni == != < > >= <= ostali x. y f(x) a[x] ++ -- new ? : itd. . . • Malo drugače – & in | sta za tip bool logična operatorja s popolno evaluacijo • Drugače – is : testira tip (v stilu Javanskega instanceof) – as : pretvorba tipa brez proženja izjem – typeof : vrne tip
Vrstni red izvajanja operatorjev • vrstni red izvajanja operatorji določa prioriteta a=b+c*d; se bo izvedel kot a=b+(c*d); • vrstni red izvajanja operatorjev z enako prioriteto določa asociativnost – z leve proti desni (vsi binarni operatorji, razen operatorjev prirejanja) – z desne proti levi (operatorji prirejanja in pogojni operator ? : ) – x-y-z; se bo izvedel kot (x-y)-z; – a=b=c; se bo izvedel kot a=(b=c); • Prioriteto in povezovanje operatorjev lahko kontroliramo z uporabo oklepajev
Vrstni red izvajanja operatorjev vrsta multiplikativni * / % aditivni + - pomik relacijski in pretvorba tipov enakost << >> logični AND & logični XOR ^ logični OR | pogojni AND && pogojni OR || pogojni c? x: y prireditev = *= /= %= += -= <<= >>= &= ^= |= primarni < > <= >= is as == != PRIORITETA unarni operatorji x. y f(x) a[x] x++ x-new typeof checked unchecked + - ! ~ ++x --x (T)x
Preverjanje prekoračitve
typeof in sizeof
Deklaracije
Prostor deklaracij
Imenski prostori (namespaces)
Uporaba drugih imenskih prostorov
Bloki
Deklaracija lokalnih spremenljivk
Stavki
Preprosti stavki
Stavek if
Stavek switch
switch z goto
Zanke
Stavek foreach
Skoki
Stavek return
Razredi in strukture
Vsebina razredov ali struktur
Razredi
Strukture
Določba vidnosti
Članske spremenljivke (fields) in konstante
Statične članske spremenljivke in konstante
Metode
Statične metode
Parametri
Prenašanje parametrov • ref – prenašanje po referenci // definicija metode static void Zamenjaj(ref int i, ref int j) {. . . } // klic Zamenjaj(ref a, ref b); • out – prenašanje neinicializirane spremenljivke po referenci
Spremenljivo število parametrov
Preoblaganje metod
Razred - konstruktorji • Dve vrsti: – konstruktorji izvodov ("klasični") • definira kaj je potrebno storiti ob ustvarjanju izvoda (predmeta) • metoda z imenom razreda, ki nima vračajočega tipa • lahko so preobloženi – statični konstruktorji • Definira, kaj je potrebno storiti ob ustvarjanju razreda • statična metoda z imenom razreda, ki nima vračajočega tipa in je brez argumentov ter nima pridevnikov za dostop
Razredni konstruktorji
Privzeti (default) konstruktor
Konstruktorji za strukture
Statični konstruktorji
Destruktorji
Lastnosti (properties)
Lastnosti (nadaljevanje)
Indekserji
Razredi – indekserji • Indekserji (indexers) razširitev lastnosti • omogočajo izgradnjo poljubnih indeksiranih vsebovalnikov (containers) • uporaba tako izgrajenih vsebovalnikov se ne razlikuje od vgrajenih • indeks je lahko poljubnega tipa class Flota { public Ladja[] zbirka = new Ladja[10]; public int this[int index] { get { return zbirka[index]. Prostornina; } } }
Indekserji: še en primer
Preoblaganje operatorjev
Operatorji pretvorbe
Gnezdeni tipi
Kako naprej? Konec prvega dela Skok na drugi del
- Svet i evropa posle velikog rata
- Generacije programskih jezika
- Raven izobrazbe eok
- Svetové hospodárstvo a nové usporiadanie štátov
- Galeotto fu il libro e chi lo scrisse
- Contenzione denti
- Pampevlk
- Regola del nove
- Parafrasi xiii canto inferno
- Integral pravila
- Nové formy marketingovej komunikácie
- Um poliedro convexo tem 12 vertices e 18 arestas
- Nové dopravné značky na slovensku
- Regola del nove
- Regola del nove
- 9999 em algarismo romano
- Verdunská smlouva
- Regola del nove
- Podemos dividir o reino animal em nove filos
- Regola del nove
- Achmed lach net ich krieg mein tach net
- Ado.net vb.net
- Yobis mebnet giriş
- Raspberry pi php install
- Www.carlosparchen.net
- Sea data net
- Ag ed net
- Academichelp.net essay
- • https://englishteststore.net/index.php…
- Elliot jaffe net worth
- Victor campbell nashville net worth
- Mind-surf.net puertas
- Http sciencespot net
- Net framework windows vista 32 bit
- T. trimpe 2006 http //sciencespot.net/ answer key
- Tier.net training manual
- Alpha star's net income is $300 on $2 000 of sales
- Www.labwin.net.sabesp
- Issues in borrowing slideshare
- Adrian netclassroom
- Nafsa issue net
- Http://sciencespot.net
- T.trimpe 2006 http sciencespot.net
- Bütünler açı nedir
- The arbiter . net
- Web development timeline
- Bibliaonlibe
- Bifissür ödem
- Net force definition
- Bio dyn
- Clientserver network
- Is in the middle
- Advantage and disadvantage of npv
- Nét cong trái
- Dave liniger net worth
- Definite vs indefinite integral
- Acad net
- Capital budgeting
- Bwi net
- Onlinehtmleditor.net
- Brack net
- Platforma broker net
- Sirepa@net
- Vodafone forum coimbra
- Tinthac net
- Apensarem.net
- Aduanet
- John climax net worth
- Edebiyatogretmeni.net
- Cbord net nutrition
- Http savefrom
- Http sciencespot.net
- Creative curriculum.net
- Rail net europe
- Ado in real life
- Chapter 9 net present value and other investment criteria
- Ntc fiber net review
- Fromservicesattribute
- Net capital outflow formula
- Net slip