Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Šta zanči istanciranje objekta pr. dim igracA as new Igrac?

[es] :: .NET :: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?

[ Pregleda: 3641 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bolepks
Nis

Član broj: 233371
Poruke: 395
*.dynamic.isp.telekom.rs.



+1 Profil

icon Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 16:30 - pre 66 meseci
Šta zanči istanciranje objekta pr. dim igracA as new Igrac? Zašto se uopšte radi pravljenje novog objekta?
 
Odgovor na temu

Nymeria

Član broj: 317502
Poruke: 75



+84 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 16:52 - pre 66 meseci
Mozda je lakse razumeti ako to razdvojis zasebno na deklaraciju promenljive i instanciranje:
Dim igracA As Igrac
igracA = new Igrac()

Prva linija samo odredjuje da cemo koristiti neku promenljivu i kaze sta cemo cuvati u njoj (da bi sistem znao kako da radi sa memorijom i radi raznih provera).
Druga linije je konkretan posao, da tako kazem. Tu se zaista napravi objekat i smesti u promenljivu. E sad, zasto... Pa, zato sto nam treba Ako hoces ista da radis sa objektima tipa Igrac, moras prvo da ih napravis. Nema ti druge

OK, jedan izuzetak su staticke metode (u vb.net se drugacije zovu, shared mislim) koje se pozivaju bez instance, ali to je druga prica
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 17:02 - pre 66 meseci

http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

bolepks
Nis

Član broj: 233371
Poruke: 395
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:00 - pre 66 meseci
Citat:
Nymeria:
Mozda je lakse razumeti ako to razdvojis zasebno na deklaraciju promenljive i instanciranje:
Dim igracA As Igrac
igracA = new Igrac()

Prva linija samo odredjuje da cemo koristiti neku promenljivu i kaze sta cemo cuvati u njoj (da bi sistem znao kako da radi sa memorijom i radi raznih provera).
Druga linije je konkretan posao, da tako kazem. Tu se zaista napravi objekat i smesti u promenljivu. E sad, zasto... Pa, zato sto nam treba :) Ako hoces ista da radis sa objektima tipa Igrac, moras prvo da ih napravis. Nema ti druge :)

OK, jedan izuzetak su staticke metode (u vb.net se drugacije zovu, shared mislim) koje se pozivaju bez instance, ali to je druga prica ;)

Jel možeš da mi napišeš kod bilo bi mi jasnije dva broja tima A i B koja treba da se saberu a da imaju klasu Matematika?
Postoji onaj jednostavna primer ali ga nešto dobro nisam upisao




[Ovu poruku je menjao bolepks dana 08.12.2013. u 19:11 GMT+1]

[Ovu poruku je menjao bolepks dana 08.12.2013. u 20:21 GMT+1]
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:08 - pre 66 meseci
Bilo bi bolje da objasnis ta hoces da postignes.
Sta su tim A i B, jel su oni clanovi klase Matematika?
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

bolepks
Nis

Član broj: 233371
Poruke: 395
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:12 - pre 66 meseci
Ima na osmoj strani u ovom primeru http://www.microsoftsrb.rs/dow...skola_programiranja_Csharp.pdf
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:26 - pre 66 meseci
Jel si odgledao video koji sam postavio?
M je promenljiva tipa Matematika, to odredjuje referencu gde ce se cuvati ta instaca koja se kreira pomocu new operatora, ono sto ide posle new je Matematika() to je poseban metod u svakoj klasi koji se zove konstruktor i on je odgovoran za pravljenje instance
Matematika M = new Matematika();
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:41 - pre 66 meseci
Koja ti greska pise?
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4533



+705 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:44 - pre 66 meseci
Taj primer iz PDF-a je loš, pošto praviti klasu Matematika nema smisla. Baš me čudi da MS u svom zvaničnom materijalu koristi tako apsurdne primere za jako bitne koncepte kao što su klase i objekti.

BTW koristi CODE tagove kad stavljaš kod u poruci na ES.
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?08.12.2013. u 18:50 - pre 66 meseci
Ovo je Mikrosoft Srbija, ko zna ko je pisao te primere.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

bolepks
Nis

Član broj: 233371
Poruke: 395
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 09:27 - pre 65 meseci
Citat:
AMD guy:
Jel si odgledao video koji sam postavio?
M je promenljiva tipa Matematika, to odredjuje referencu gde ce se cuvati ta instaca koja se kreira pomocu new operatora, ono sto ide posle new je Matematika() to je poseban metod u svakoj klasi koji se zove konstruktor i on je odgovoran za pravljenje instance
Matematika M = new Matematika();

Da li sam dobro shvatio tehnologiju pisanja koda pr. kada hoću da napravim drugu formu u projektu kao npr. frmDrugaForma moram da na prvoj naprvaim batum i na klik događaj unesem kod koji će napraviti istancu objekta ove klase i promenjljivu u kojoj će se izvršiti:

frmDrugaForma Mojaforma = new frmDrugaforma(); /* ovo je klasa promenljiva = konstruktor klase ();
Moja.Forma.Show(); /* ovo je istanca klase tj. objekta
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 17:13 - pre 65 meseci
Instanca klase se zove Mojaforma. A frmDrugaForma je tip, kao sto stoji int x gde je int tip a x promenljiva koja cuva vrednost tipa int, tako je frmDrugaForma tip a Mojaforma je promenljiva koja cuva vrednosti tipa frmDrugaForma. Jedina razlika je u tome sto je promenljiva Mojaforma kompleksniji tip od x promenljive.

frmDrugaForma Mojaforma = new frmDrugaforma(); /* ovo je klasa promenljiva = konstruktor klase ();
Mojaforma.Show(); //ispravka nije Moja.Forma nego Mojaforma
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

bolepks
Nis

Član broj: 233371
Poruke: 395
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 18:17 - pre 65 meseci
Da je koliko ja razumem instaca pojavni oblik klase (objekta) da bi program mogao da nam metodom tj. funkcijom pokazao šta se tom klasom događa, u ovom slučaju klikom na batum otvara se druga forma pomoću instace odnosno funkcije MojaForma.Show();....
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 18:21 - pre 65 meseci
Sta je batum?
Jel to isto sto i button?

Show metoda se definisana u Form klasi, verovatno si video kada si kreirao formu da pise nesto tipa frmDrugaForma : Form. Ovo ti je primer nasledjivanja. frmDrugaForma ima pristup Show metodi samo zato sto nasledjuje iz Form klase.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

bolepks
Nis

Član broj: 233371
Poruke: 395
*.dynamic.isp.telekom.rs.



+1 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 19:01 - pre 65 meseci
Batun
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1891
212.178.246.*

Sajt: stackoverflow.com/users/1..


+465 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 19:18 - pre 65 meseci
Ono što je veoma važno, a ne vidim da je spomenuto ovde - instanca klase - objekat - ima svoje stanje, koje je određeno vrednošću svih njegovih elemenata i to je razlog zašto se konstruišu objekti - dva objekta iste klase mogu imati različito (ali jasno određeno) stanje - definicija klase opisuje kako se to stanje menja.

Citat:
Da je koliko ja razumem instaca pojavni oblik klase (objekta) da bi program mogao da nam metodom tj. funkcijom pokazao šta se tom klasom događa, u ovom slučaju klikom na batum otvara se druga forma pomoću instace odnosno funkcije MojaForma.Show();....


Baš zbog ovoga je važno razumeti šta je stanje - jer se sa klasom mogu generisati događaji i bez objekta (static metode i polja), ali u tom slučaju stanje je jedinstveno za svaku klasu.


Primer:

Code:
class BankovniRacun
{
     int stanje;

public:
     void dodaj(int iznos);
     void skini(int iznos);
};


// Dva objekta
BankovniRacun a, b;


a.dodaj(1000);
b.dodaj(5000);


Evo i primera za dešavanja nad klasom bez objekata (samo ilustrativno):


Code:
class MojProzor
{
private:
    static Form mojForm;

public:

    static void prikaziProzor(){ mojForm.show(); }


};

MojProzor::prikaziProzor(); // bez objekta!



 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 19:28 - pre 65 meseci
Ne razumem sta znaci ta rec. Jel mozes da mi das primer, u recenici ili artikal u wikipediji ili tako nesto?
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

AMD guy
Miroslav
.NET developer

Član broj: 128930
Poruke: 1004

Sajt: www.its.edu.rs


+36 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 19:33 - pre 65 meseci
Citat:
dva objekta iste klase mogu imati različito (ali jasno određeno) stanje - definicija klase opisuje kako se to stanje menja.

Ja mislim da se slicno nesto spominje u video klipu sto sam postavio 08.12.
http://i.imgur.com/V3feW.jpg
http://on.wsj.com/H9yjz6 -- India Graduates Millions, but Too Few Are Fit to Hire
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1891
212.178.246.*

Sajt: stackoverflow.com/users/1..


+465 Profil

icon Re: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?29.12.2013. u 20:21 - pre 65 meseci
Nisam pogledao klip, izvinjavam se ako je već bilo spomenuto! U pitanju je stanje objekta - object state - možda pod time nađete više informacija na internetu.

Npr. ponovo primer sa bankom:

Code:

class BankovniRacun
{
     int stanje_racuna;
     std::string ime_vlasnika;

public:
     void dodaj(int iznos);
     void skini(int iznos);

     BankovniRacun(std::string ime){ ime_vlasnika = ime; stanje_racuna = 0; }
};


// Napravi dva racuna
BankovniRacun rac1("Nemanja"); 
BankovniRacun rac2("Milica");

// Dodaj neki iznos
rac1.dodaj(1000);
rac2.dodaj(5000);


Oba ova objekta opisuje ista klasa - BankovniRacun, međutim, svaki objekat čuva svoje stanje - u ovom trenutku, stanje objekta rac1 govori da mu je vlasnik Nemanja, i da ima 1000 dinara na računu. Slično tome, stanje objekta rac2 čuva informacije o tome da je vlasnik Milica, i da ima 5000 dinara na njemu.

Već je ovde rečeno da objekti, pored stanja, imaju i ponašanje. Ovo dvoje je u jakoj sprezi - kao što ponašanje menja stanje objekta (dodavanje i skidanje novca sa računa), tako i stanje objekta, može da menja ponašanje - npr. ako je stanje na računu posle eventualne operacije skidanja para sa njega negativan, objekat može baciti izuzetak i ne promeniti svoje stanje.

Takođe, ako vas ovo interesuje, možete potražiti po internetu dosta zanimljivih stvari o ovome, npr. exception safety je veoma važna osobina koja opisuje da li se (i kako se) menja stanje objekta nakon što objekat izbaci izuzetak - na primer, strong exception safety garantuje da će nakon izbacivanja izuzetka stanje objekta ostati isto kao i pre pozivanja metode koja izaziva izuzetak - ako ne dozvolimo skidanje više para na računu, ne želimo da naš račun posle izuzetka ostane sa negativnim saldom:


Code:


// loše - ako zahtemo više para, i operacija ne uspe
// objekat ostaje u neupotrebljivom stanju
void BankovniRacun::skini(int iznos)
{
    stanje_racuna -= iznos;

    if(stanje_racuna < 0)
        throw MinusException();
}

// bolje

void BankovniRacun::skini(int iznos)
{
    if(stanje_racuna - iznos < 0)
        throw MinusException();

    stanje_racuna -= iznos;

}


 
Odgovor na temu

[es] :: .NET :: Šta zanči istanciranje objekta pr. dim igracA as new Igrac?

[ Pregleda: 3641 | Odgovora: 18 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.