42
Osnove programiranja .NET okruženje

3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Osnove programiranja

.NET okruženje

Page 2: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Sadržaj .NET okruženje Šta se nalazi unutar .NET okruženja? Kompajliranje koda Imenovani prostor Konzolne aplikacije Osnove strukture C# konzolne aplikacije Objašnjenje koda – prostor imena System, klasa

Program i metoda Main Komanda Write i WriteLine Izlazna sekvenca (string literali)

Page 3: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Šta je .NET okruženje? .NET okruženje je platforma za razvoj aplikacija čiji je

tvorac Microsoft. Ključni razlog za razvoj ove tehnologije – sredstvo

kojim se vrši integracija različitih operativnih sistema. .NET okruženje dizajnirano je tako da se može koristiti

iz bilo kog jezika: C#, C++, Visual Basic, JavaScript, pa čak i starije jezike kao što je COBOL.

Da bi sve to funkcionisalo, pojavile su se i posebneverzije ovih jezika za .NET.

Page 4: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

.NET Framework

.NET Framework je razvojno okruženje kojeomogućava kreiranje .NET aplikacija

Predstavlja osnovu .NET platforme Sastoji se iz dve komponente:

Common Language Runtime (CLR) – virtualna mašina odgovorna za izvršavanje koda

.NET framework biblioteka klasa, biblioteka koja omogućava kreiranje windows, veb aplikacija i veb servisa

Page 5: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Struktura .NET Frameworka

Page 6: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Prednosti .NET platforme

Jezička nezavisnost Ovo je postignuto postojanjem međujezika, IL

(Intermediate Language, ili MSIL), tj. kôd napisan na bilo kom jeziku koji ima podršku za .NET prevodise u kôd razumljiv tom međujeziku

Pristup za zajedničko korišćenje koda Umesto tradicionalnih dll biblioteka, uvodi se

koncept sklopova (assembly)

Page 7: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Zajednički sistem tipova Common Type System - CTS

Jedan deo biblioteke .NET okruženja definišesamo osnovne tipove podataka.

Tip je u stvari način na koji se predstavljapodatak, a definicijom fundamentalnih tipovapodataka olakšava se interoperatibilnost između jezika koji koriste .NET okruženje. Na primer u Visual Basic .NET-u koristi neka

metoda koja vraća tip „Integer“, a u C#-u se koristi tip „int“.

Page 8: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Izvršno jezičko okruženje Common Language Runtime

Odgovorno za izvršavanje svih aplikacijarazvijenih uz pomoć .NET biblioteke. CLR izvršava kôd koji je kompajliran na .NET

platformi. CLR specifikacija je otvorena za sve platforme,

uključujući i ne-Windows.

Page 9: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Kako napisati aplikaciju koristeći .NET okruženje?

Pisanje aplikacija unutar .NET okruženja znači pisanje koda (bilo koji jezik koji podržava ovo okruženje) uz pomoć .NET biblioteke koda.

Da bi se C# kod izvršio neophodno ga je prevesti u jezik koji operativni sistem na kome jeaplikacija razume.

Ovo prevođenje se još naziva i kompajliranjekoda, funkcija koju obavlja kompajler.

Unutar .NET okruženja ta operacija ima dve faze.

Page 10: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Kompajliranje koda

Izvorni kod se kompajlira u Microsoftov posredni jezikkod (Microsoft Intermediate Language - MSIL). MSIL kod se smešta u posebne sklopove (engl. assembly).

Zatim, JIT kompajler (Just-In-Time - JIT), prevodiMSIL kod u prirodni specificiran od strane operativnogsistema i arhitekture same mašine na kojoj se programizvodi.

Tek tada operativni sistem može izvršiti program. Pojam „u pravo vreme" označava da se MSIL kod

kompajlira samo kada je to potrebno.

Page 11: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Kartice glavnog prozora

Solution Explorer prozor prikazuje informacije o trenutnoučitanim rešenjima. Rešenje je po terminologiji VS-a jedan ili više projekata zajedno sa njihovom konfiguracijom.

Toolbox paleta sa alatkama koja pruža mogućnost pristupakorisničkom interfejsu za izradu elemenata Windows aplikacija.

Properties prozor omogućava detaljniji pogled na sadržinuprojekta i dozvoljava dodatno konfigurisanje pojedinihelemenata.

Output prozor prikazuje informacije prilikom kompajliranjaprojekta.

Page 12: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Imenovani prostor

Imenovani prostor - metod .NET okruženja kojim se obezbeđuje kontejner koji sadrži aplikacioni kod i to tako da i kod i njegov sadržaj mogu biti jedinstveno identifikovani.

Imenovani prostori se takođe koriste i prikategorisanju objekata .NET okruženja.

Najveći deo tih objekata su definicije tipova, kaošto su recimo prosti tipovi.

Page 13: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Pristup imenovanom prostoru C# kod se podrazumevano sadrži u globalnim

imenovanim prostorima. Tom kodu se može pristupiti iz nekog drugog

koda koji je unutar globalnih imenovanihprostora, tako što se navede njegovo ime.

Može se koristiti i ključna reč namespace, da bise eksplicitno definisao imenovani prostor u bloku koda oivičenom vitičastim zagradama.

Takva imena moraju biti kvalifikovana, ukolikoće ih koristiti kod izvan imenovanog prostora.

Page 14: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Kvalifikovana imena

Kvalifikovano ime je ono koje sadrži sveinformacije o svojoj hijerarhiji.

To znači da ukoliko imamo kod u jednomimenovanom prostoru, koji treba da koristi imedefinisano u nekom drugom imenovanomprostoru, moramo uključiti referencu na ovajimenovani prostor.

Kvalifikovana imena koriste znak(.) između nivoa imenovanog prostora.

Page 15: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Primernamespace PrviNivo{

//kod u imenovanom prostoru PrviNivo//ime “PrvoIme” definisano

}//kod u globalnom imenovanom prostoru

Ovaj kod definiše jedan imenovani prostor, PrviNivo, kao ijedno ime u njemu, PrvoIme.

Kod napisan unutar PrviNivo imenovanog prostora, poziva ovoime upotrebom “PrvoIme” - nije potrebna nikakva drugaklasifikacija.

Kod u globalnom imenovanom prostoru mora pozivati ovo imena sledeći način: “PrviNivo.PrvoIme”.

Page 16: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Ugnježdeni prostor imena

U okviru imenovanih prostora možemo definisati ugnježdene imenovane prostore, korišćenjem ključne reči namespace.

Ugnježdeni imenovani prostori se pozivajupreko svoje hijerarhije, opet koristeći tačku da bi naveli svaki nivo unutar hijerarhije.

Page 17: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Primernamespace PrviNivo{

//kod u imenovanom prostoru PrviNivonamespace DrugiNivo

{//kod u imenovanom prostoru PrviNivo. DrugiNivo//ime “DrugoIme” definisano}

}//kod u globalnom imenovanom prostoru

Page 18: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Objašnjenje

Ovde se DrugoIme mora pozivati kao“PrviNivo.DrugiNivo.DrugoIme” iz globalnogimenovanog prostora;

ili kao “DrugiNivo.DrugoIme” iz imenovanogprostora PrviNivo;

ili kao “DrugoIme” iz imenovanog prostoraPrviNivo.DrugiNivo.

Analogija sa hijerarhijom foldera i datoteka

Page 19: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Name space Systemusing System;namespace PrviProgram{.....} Prvi red koristi using da definiše imenovani prostor System kojiće biti korišćen u ovom C# kodu

Njemu se može pristupiti iz svih imenovanih prostora koji su u ovoj datoteci, bez klasifikacije.

System imenovani prostor je koreni imenovani prostor zaaplikacije .NET okruženja i sadrži sve osnovne funkcionalnosti neophodne za konzolne aplikacije.

Page 20: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Primer Kako pozvati ime Venera iz koda unutar imenovanog prostora

Vasiona?namespace Vasiona{

//kod u imenovanom prostoru Vasionanamespace MlecniPut{

namespace SuncevSistem{

// definisano ime Venera}

}

}

Page 21: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Konzolne aplikacije

Konzolna aplikacija je aplikacija koja se pokrećeu komandnom prozoru, ali nema grafičkikorisnički interfejs.

Komunikacija se odvija isključivo sa komandnelinije.

Za unošenje i prikazivanje podataka u konzolikoriste se metode klase Console.

Page 22: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Izbor konzolne aplikacije Visual Studio .NET

Page 23: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Primer 1

Napisati C# kod koji će na ekranu ispisati:Moj prvi c# kod

Page 24: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Solution Explorer

Pogled preko Solution Explorer-a prikazujedatoteke od kojih se sastoji projekatPrviProgram.

Datoteka koja sadrži kod je Program.csprikazana zajedno sa još jednom kod datotekom, AssemblyInfo.cs. Sve datoteke sa C# kodom imaju nastavak cs.

Page 25: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Solution Explorer

Lista References sadrži spisak.NET biblioteka koji se koriste u projektu.

Drugi pogled istog prozora, Class View, predstavlja način da se pogleda projekat kroznapravljenu strukturu koda.

Page 26: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Prozor Properties

Ovaj prozor pokazuje dodatne informacije o onome šta je odabrano u prozoru iznad njega.

Npr. kada se izabere Program.cs sadržaj ovog prozora dat je na slici

Svojstvima ovog prozora bavićemo se kod kreiranja Windows aplikacija.

Page 27: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Prozor Output

U ovom prozoru daje se izveštaj o statusudatoteka koje se kompajliraju.

Ovde se dobija i izveštaj o greškama koje se mogu dogoditi tokom kompajliranja.

Npr. Šta će se desiti ako se obriše tačka-zarez iznekog reda ?

Page 28: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Osnove strukture C# konzolne aplikacije

using System;namespace PrviProgram{

class Program{

static void Main(string [] args){/* Dodaj kod – ovde startuje aplikacija */

Console.WriteLine ("Moj prvi C# kod");}

}}

Kada se konzolnaaplikacija startuje izvršavase oivičen blok. Jedini red koda koji ćenešto uraditi jeste onaj kojije dodat generisanomkodu, a nije komentar.

Page 29: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Izlazna metoda

WriteLine metoda je jedna od izlaznih metodau Console klasi.

Ona prikazuje string koji je zadat kao parametarna standardni izlazni tok

System.Console.WriteLine();

Page 30: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Objašnjenje koda – System

Na samom vrhu koda nalazi se linija using System; Ova naredba omogućava da se nadalje u kodu koriste

sve metode iz prostora imena System, a da se eksplicitno ne navede reč System.

Tako se klasa Console sa metodama za rad sa konzolom, koja pripada prostoru imena System, može pozvati Console.WriteLine(“….”)

Umesto System.Console.WriteLine(“….”) tzv. punakvalifikacija imena.

Page 31: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Objašnjenje koda – namespace

namespace predstavlja .NET način da se kod i njegov sadržaj jedinstveno identifikuju.

Koristi za kategorizaciju elemenata u .NET okruženju.

namespace je deklarisan za kod aplikacije koja se u ovom slučaju naziva PrviProgram.

Page 32: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Objašnjenje koda – klasa

C# je objektno orijentisan programski jezik i sve naredbe moraju stajati u klasama.

Početak klase počinje sa otvorenom vitičastom zagradom { i završava se sa }.

Klasa u kojoj je ceo kôd ovog primera zove se “Program” (class Program) i ima jednu jedinu naredbu:

Console.WriteLine( “Ovo je moj prvi C# kod” ); WriteLine() je funkcija koja kao rezultat vraća string

koji joj je prosleđen.

Page 33: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Objašnjenje koda – metod Main

U klasi Program nalazi se metoda Main. Funkcija Main() je ulazna tačka (entry point) za

konzolnu aplikaciju. Program može imati samo jednu ulaznu tačku i ona se

ostvaruje upravo preko ove metode. Kada se C# aplikacija izvršava, poziva se funkcija koja

sadrži ulaznu tačku. Kada se ta funkcija izvrši, aplikacija se završava. Ova metoda počinje sa static, što znači da je statička i

void - ne vraća vrednost.

Page 34: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Osnove C# sintakse

C# kod je sastavljen od niza iskaza, a svaki odnjih se završava tačkom-zarezom.

Beli (prazan) prostor se ignoriše, pa je moguće u jedan red staviti više iskaza.

Zbog čitljivosti uobičajeno je preći u novi red nakon tačke-zareza.

Prihvatljivo je (čak i normalno) da se jedan iskazunese u više redova.

Page 35: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Osnove C# sintakse

C# spada u jezike sa blokovskom strukturom, što značida su svi iskazi delovi bloka unutar koda.

Ovi blokovi, koji su oivičeni vitičastom zagradom ({i}), mogu da sadrže bilo koju vrstu iskaza, a i ne moraju nijednu.

Blokovi mogu biti i ugnježdeni jedan u drugi Zapamtite da vitičaste zagrade ne zahtevaju tačku-zarez

iza sebe. {<red koda 1, iskaz 1 >;<red koda 2, iskaz 2 >

<red koda 3, iskaz 2 (nastavak)>;}

Page 36: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

C# case sensitive

C# pravi razliku između malih i velikih slova -case-sensitive.

Ako bi u prethodnom primeru napisali“console” (malim početnim slovom) umesto“Console” program se ne bi preveo, a prevodilacbi prijavio grešku.

Page 37: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Komentari // Ova vrsta

komentara je korisnaza dokumentovanjeiskaza, jer može bitipostavljena u istomredu kao i iskaz:

<Iskaz>; // Objašnjenje iskaza

/// Poseban komentarDozvoljava da se dokumentuje kod.

Page 38: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

WriteLine i izlazna sekvenca

Console.WriteLine ("Moj prvi C# kod ");

Console.WriteLine ("Moj prvi C# kod \n");

Console.WriteLine ("\t Moj prvi C# kod \n");

Page 39: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

String literaliEscape sekvenca Znak koji pravi

\’ Jednostruki navodnik\” Dvostruki navodnik\\ Obrnuta kosa crta\0 Nula \a Alarm (zvučni signal)\b Unazad za jedan znak\f Prelazak na sledeću stranu\n Novi red\r Prenos u novi red\t Horizontalni tabulator\v Vertikalni tabulator

Page 40: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Ulazna metoda

ReadLine metoda je jedna od ulaznih metodaklase Console.

Koristi se za dobijanje vrednosti iz korisnikovogunosa u konzoli.

System.Console.ReadLine(); ili Console.ReadLine();

Metod ReadKey() čeka da korisnik pritisne taster na tastaturi.

Bez nje bi se otvorio prozor komandne linije, ispisao tekst i prozor bi se odmah zatvorio

Page 41: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

ReadKey() - funkcija za unos nekog znaka sa tastature

Page 42: 3-.NET.ppt - Compatibility Mode...Vasiona? namespace Vasiona {//kod u imenovanom prostoru Vasiona namespace MlecniPut {namespace SuncevSistem {// definisano ime Venera}}} Konzolne

Vežbanja

Ukoliko nemate instaliran Visual Studio vežbajte kod preko sledećeg linka:

https://code.sololearn.com/#cs