Professional Documents
Culture Documents
Osnove Programskog Jezika C#: Dodavanje Projekta
Osnove Programskog Jezika C#: Dodavanje Projekta
Osnove
programskog
jezika C#
Čas 2.
Dodavanje projekta:
Moguće je postojećem projektu dodati novi i tako imati
u jednom radnom okruženju u okviru jednog rešenja
više projekata.
1
10/18/2016
2
10/18/2016
3
10/18/2016
Pogled na prozor
“Solution Explorer”
4
10/18/2016
Klasa
class Pravougaonik{ class Krug{
private int a; private int r;
private int b; public Krug(int x)
public Pravougaounik(int x, int y) {
{ r = x;
a = x; }
b = y; public double P()
} {
public int P() return r*r*3.14;
{ }
return a * b; }
}
}
Klasa definiše tip podataka koji se koristi u rešenju. Predstavlja specijalizovan tip
podataka. Referentni. Elementi (instance) klase su objekti. Sve klase imaju jednu
zajednicku klasu object
Pravougaonik p; Krug k;
p = new Pravougaonik(12,21); k = new Krug(17);
int povrsina = p.P(); double povrsina = k.P();
Klasa je opis objekata koji se koriste u aplikaciji. Projektovanje klase znači
osmišljavanje tipa podataka koji će omogućiti lako i efikasno rešavanje
postavljenog zadatka, ali i naknadno održavanje napisang koda!
Osobine klase
Klasa može da preuzme sve osobine neke druge klase i da joj se dodaju nove.
Osobine su polja i metode.
Preuzimanje tih osobina se naziva “nasleđivanje” (u Javi “proširivanje”)
Sav kod mora biti u klasama
Neke sluze za pokretanje aplikacije
Druge za opis objekata koji ce se koristiti
5
10/18/2016
Nizovi u C#
REFERENTNOG TIPA.
Jednodimenzioni
static void Main() {
Višedimenzioni
int[] arr = new int[5]; // jednodimenzionalni niz
Pravougaoni arr[0] = 0
for (int i = 0; i < arr.Length; i++)
Nazubljeni arr[i] = i * i; arr[1] = 1
for (int i = 0; i < arr.Length; i++)
arr[2] = 4
Console.WriteLine("arr[{0}] = {1}", i, arr[i]);
}
arr[3] = 9
arr[4] = 16
11
Zaključak:
Potpuna analogija kod nizova referentnog odnosno vrednosnog tipa.
Elemente niza referentnog tipa treba dodatno napraviti pozivom metode new
za svaki elemenat niza.
12
6
10/18/2016
Višedimenzionalni nizovi
Primeri:
int[] a1; // single-dimensional array of int
int[,] a2; // 2-dimensional array of int
int[,,] a3; // 3-dimensional array of int
int[][] j2; // niz nizova
int[][][] j3;// niz “niza nizova”
Pravougaoni niz
13
Primeri:
int[] a1 = new int[] {1, 2, 3};
int[,] a2 = new int[,] {{1, 2, 3}, {4, 5, 6}};
int[,,] a3 = new int[10, 20, 30]; //array type of int[,,]
int[][] j2 = new int[3][];
j2[0] = new int[] {1, 2, 3};
j2[1] = new int[] {1, 2, 3, 4, 5, 6};
j2[2] = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9};
14
7
10/18/2016
Primeri:
Kako metodi proslediti niz? Kako da metoda vrati kao
rezultat neki niz?
Napisati konzolnu aplikaciju za sortiranje niza vrednosti.
Demo...
16
8
10/18/2016
Liste
Lista je skup objekata, obično istog tipa (generička lista)
bez unapred poznatog broja, ondnosno sa mogućnošću da
se naknadno u već formiranu listu dodaju ili izbacuju
elementi.
Sintaksa je:
List t = new List();
Ako se radi o generičkoj listi:
List<tip> t = new List<tip>();
Dodavanje elementa listi:
t.Add(22); t.Add(123);
Brisanje cele listi:
t.Clear();
Izbacivanje elementa iz liste
t.Remove(obj); ili
t.RemoveAt(2);
17
18
9
10/18/2016
struct Point
{
public int x, y;
Point (Point p) { x = p.x; y = p.y; }
void MoveTo (int a, int b) { x = a; y = b; }
}
Point p = new Point(3, 4);
Point q;
p.MoveTo(10, 20);// method call
q.MoveTo(60, 20);
Strukture u C#
20
10
10/18/2016
21
22
11
10/18/2016
Upotreba
Rectangle r = new Rectangle(new Point(10, 20), 5, 5);
int area = r.width * r.height;
r.MoveTo(new Point(3, 3));
23
Class Struct
Referencni tip Vrednosni tip
(objekti tj instance klase se (objekti se čuvaju na steku)
skladište u din. mem. tj. heap-u)
Može da nasleđuje Ne može da nasleđuje
(sve klase su izvedene iz klase
object) (ali kompatibilna sa klasom object)
24
12
10/18/2016
25
Nabrojive liste
26
13
10/18/2016
27
Primer 2.
Color c = Color.blue;
a = Access.personal | Access.group;
if ((Access.personal & a) != 0)
Console.WriteLine("access granted");
28
14
10/18/2016
Primer 3.
enum Temperatures
{
WickedCold = 0,
FreezingPoint = 32,
LightJacketWeather = 60,
SwimmingWeather = 72,
BoilingPoint = 212,
}
static void Main()
{
System.Console.WriteLine( "Freezing point of water: {0}",
( int ) Temperatures.FreezingPoint );
System.Console.WriteLine( "Boiling point of water: {0}",
( int ) Temperatures.BoilingPoint );
}
30
15