Skoči na vsebino

IPB




Slika

C# Dedovanje


Odgovorov v temi: 2

#1 MaTTo

MaTTo

    Iznajdljivec

  • Members
  • 894 objav
  • Spol:Moški
  • Kraj:Ptuj

Objavljeno 18 maj 2012 - 15:45

Pozdravljeni,
imam samo eno vprašanje glede ene kode.

KODA:

class A
		{
			public string ime;
			public A() { ime = "A"; }
		}

		class B : A
		{

		}

		static void Main(string[] args)
		{
			A objektA = new A();
			B objektB = new B();
			objektA = objektB;
			objektB.ime = "B";
			Console.WriteLine(objektA.ime + objektB.ime);
		}

Zakaj ta koda izpiše tekst "BB"? Nekako bi pričakoval izpis "AB", ker se objektB priredi objektuA in šele nato inicializiramo objektB.ime na tekst "B". A se s tem inicializira tudi objektA.ime na tekst "B". Prosim za rahlo razlago, ker mi res ni jasno.

EDIT -> So mi že razložili. Se opravičujem za post, lahko zaklenete :)

#2 Nejc

Nejc

    Iznajdljivec

  • Moderators
  • 859 objav
  • Spol:Moški
  • Kraj:Krško

Objavljeno 18 maj 2012 - 17:37

No vseeno odgovor, če bo kdo iskal razlago... ti pa potrdi če je pravilen, oziroma povej pravilnega... :)

BB izpiše ker s tem ko ti inicializiraš jima določiš isto "polje v pomnilniku" in ne vrednosti, zato potem ko določiš vrednost B-ju, to vrednost izpisuje tudi A. Je tako?

#3 MaTTo

MaTTo

    Iznajdljivec

  • Members
  • 894 objav
  • Spol:Moški
  • Kraj:Ptuj

Objavljeno 19 maj 2012 - 10:40

Točno tako. :D



Dodaj odgovor



  


0 član(ov) bere to temo

0 članov, 0 gostov, 0 anonimnih uporabnikov