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

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

offline
  • Pridružio: 28 Avg 2009
  • Poruke: 196

Šta zanči istanciranje objekta pr. dim igracA as new Igrac? Zašto se uopšte radi pravljenje novog objekta?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Kada imaš klasu, onda za nju možeš napraviti i objekat. E sad, ne razumem sa baš u OOP C#, ali igracA ti je u ovom slucaju novi objekat u klasi Igrac (ako imaš osnovno poznavanje engleskog možeš i sam da zaključiš). Klasa se instancira tako što joj se doda nova instanca (instance).

bolepks ::Zašto se uopšte radi pravljenje novog objekta?

Bolje da si postavio pitanje zašto je OOP bolji od proceduralnog programiranja. Ti kada napraviš objekat možeš da zadaš i parametre konstruktora i da dodaš atribute ...

Pogledaj ovo naprimer (u C++ je doduše):

#include <iostream> class kvadar {    public:        int a;        int b;        int c;        int povrsina; }; int main() {   kvadar kvadar1;   std::cout << "Unesite duzinu stranice a: " << std::endl;   std::cin >> kvadar1.a;   std::cout << "Unesite duzinu stranice b: " << std::endl;   std::cin >> kvadar1.b;   std::cout << "Unesite duzinu stranice c: " << std::endl;   std::cin >> kvadar1.c;   std::cout << "Povrsina kvadra je: " << 2*(kvadar1.a*kvadar1.b + kvadar1.a*kvadar1.c + kvadar1.b*kvadar1.c) << std::endl;   return 0; }

Ne mora tu ništa posebno da se objašnjava, mogućnosti je puno (polimorfizam, enkapsulacija, prijateljske klase...).



offline
  • Pridružio: 28 Avg 2009
  • Poruke: 196

Napisano: 08 Dec 2013 19:27

Jel možeš na osmoj strani u ovom priručniku se nalazi jedan primer Matematika U C# da mi objasniš kako ide kod?
Ima na osmoj strani u ovom primeru microsoftsrb.rs/dow...skola_programiranja_Csharp.pdf

Dopuna: 08 Dec 2013 19:39

Gde grešim class program
{
static void Main(string[] args)
{
Matematika M = new Matematika();
Console.WriteLine(M.Zbir(3,4));
Console.WriteLine(M.Razlika(8,2));
Console.ReadKey();

}
}
class Matematika
{
public double Zbir(double A, double B)
{
return A + B;
}

public double Razlika(double A, double B)
{
return A - B;
}
}

offline
  • Programer
  • Pridružio: 23 Maj 2012
  • Poruke: 4575

Napisano: 08 Dec 2013 19:40

Šta da ti objasnim, šta ti tačno nije jasno? Ne vidim ništa teško ovde, imaš dve javne funkcije (public označava da su javne), a vraćaju decimalnu vrednost (double). U parametru su mesta rezervisana za dve decimalne vrednosti, A i B. Funkcija ima zadatak da vrati zbir ta dva broja
Citat:
return A + B;

, odnosno ispiše rezultat tog izraza, samo što u programu double A i double B zamenjuješ sa brojevima.

double zbir(5, 7);

Isti je princip i za razliku.

Dopuna: 08 Dec 2013 19:48

Gde ti je header?

using System; namespace program {    class program { ...

Inače ti si ovde sve zabrljao što se tiče redosleda, prvo učitaš biblioteke koje program treba da koristi:

using System;

onda dodaješ namespace <imeprojekta>. Obično ga Visual Studio sam generiše.

namespace imeprojekta {

onda dodaješ klasu programa:

class program {

i nakon te klase definišeš sve klase koje imaš. Tek posle toga ideš:

static void Main(string[] args) {

Ispravi samo to i povrati pažnju na estetiku pisanja koda sad dok si na početku kako bi se navikao. Obrati pažnju na moj C++ kod i način na koji je napisan (koristi TAB, SPACE...)

Ko je trenutno na forumu
 

Ukupno su 1102 korisnika na forumu :: 36 registrovanih, 3 sakrivenih i 1063 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., airsuba, ajo baba, alkatraz080, Andrija357, armor, asdfjklc, brufen, Denaya, Dimitrije Paunovic, djuradj, DPera, Georgius, JimmyNapoli, kenny74, kinez88, Kubovac, laki_bb, ljuba, mile33, milenko crazy north, Milos ZA, nazgul75, nebidrag, nemkea71, nikoladim, novator, Panter, rovac, SR-3m, srbijaiznadsvega, Tores, VJ, vladaa012, wolverined4, YugoSlav