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

new i override???

[es] :: .NET :: new i override???

[ Pregleda: 863 | Odgovora: 9 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

SteleStudent

Član broj: 119868
Poruke: 43
*.dynamic.sbb.co.yu.



Profil

icon new i override???02.05.2007. u 11:09

koja je uopste razlika izmedju nadjacavanja sa NEW i OVERRIDE???
02.05.2007. u 11:09 

Prokleta_Nedelja

Član broj: 90608
Poruke: 331
*.teol.net.

Sajt: www.adresar.ba


Profil

icon Re: new i override???02.05.2007. u 11:45
Da nisi mislio na Overridable?
Poslovni imenik i adresar Bosne i Hercegovine http://www.adresar.ba http://wap.adresar.ba
02.05.2007. u 11:45 

SteleStudent

Član broj: 119868
Poruke: 43
*.dynamic.sbb.co.yu.



Profil

icon Re: new i override???02.05.2007. u 12:22
dakle tek sam poceo sa C#...ono sto je meni jasno je da kada u nadklasi imam metodu koja je public i virtual, u podklasi napravim istu tu metodu sa modifikatorom new ja sam je preklopio i poziva se odgovarajuca metoda iz podklase...kada isto to uradim sa override umesto new, ISTO SE DESAVA ...te mi nije jasno koja je razlika...a siguran sam da postoji i da je verovatno NE mala...
02.05.2007. u 12:22 

Function
Amel Music
BiH

Član broj: 26785
Poruke: 27
*.PPPoE-4417.sa.bih.net.ba.



Profil

icon Re: new i override???02.05.2007. u 12:45
Da ne prevodim, vjerujem da znaš Engl. za ovo
http://blogs.msdn.com/csharpfaq/archive/2004/03/12/88453.aspx

Pozdrav.
It's important that you never stop asking questions!
02.05.2007. u 12:45 

Glogov_Kolac
Aleksandar Atanasovski
Nis

Član broj: 97920
Poruke: 99
*.adsl.beotel.net.



Profil

icon Re: new i override???04.05.2007. u 21:09
Sa new se vrsi tzv skrivanje ako se radi o istom imenu imena(metode).NE treba to mnogo da te opterecuje jer new (po meni) nema nikakvu funkcionalnu korist.
04.05.2007. u 21:09 

bunker
Srđan Savković
Smederevo

Član broj: 4495
Poruke: 217
212.5.210.*

ICQ: 30281997


Profil

icon Re: new i override???05.05.2007. u 12:37
Citat:
Glogov_Kolac: Sa new se vrsi tzv skrivanje ako se radi o istom imenu imena(metode).NE treba to mnogo da te opterecuje jer new (po meni) nema nikakvu funkcionalnu korist.


Sa ovim izlaganjem se nikako ne bih slozio. Ako nasledim TextBox i hoccu se u slucaju postavljanja teksta u tu kontrolu, property Text desi neka validacija, u svoju nasledjenu kontrolu staviccu "public new string Text".
Ovo je iz prostog razloga sto neccu da uvotim svojstvo (property) Text2.

Primer:

Code:

public class MyTextBox : TextBox
{

  public new string Text
  {
    get 
    {
      if (base.Text == "") return null;
      else return null;
    }
    set { ... } 
  }
}

Ovde sam jednostavno hteo da mi vraccena vrednost bude null ako je u textboxu prazan string, ali moguccnosti su neogranicene.

Nadam se da sam bio jasan.
bunker
05.05.2007. u 12:37 

negyxo
Aleksandar Perkuchin
unknown

Član broj: 29751
Poruke: 643
*.sksyu.net.



Profil

icon Re: new i override???05.05.2007. u 14:14
@bunker

Sta ti ovo znaci, ne mogu nikako da provalim
Citat:

Ovo je iz prostog razloga sto neccu da uvotim svojstvo (property) Text2.


Inace Textbox.Text property je deklarisan kao virtual, tako da i bez new mozes da uradis to sto zelis, problem je samo sta zelis da uradis

@Glogov_Kolac
Citat:
Glogov_Kolac: Sa new se vrsi tzv skrivanje ako se radi o istom imenu imena(metode).NE treba to mnogo da te opterecuje jer new (po meni) nema nikakvu funkcionalnu korist.


Ti nekako... reako pa porekao. Pa funkcialnost je upravo ta, da sakrije metodu u nasledjenoj klasi, tako da mozes da pozivas komotno base metodu a da je nisi pregazio.
Only Time Will Tell
05.05.2007. u 14:14 

bjevta
Bratislav Jevtic
http://solair.eunet.yu/~bjevta
Kragujevac

Član broj: 5216
Poruke: 162
*.dynamic.sbb.co.yu.

Sajt: solair.eunet.yu/~bjevta


Profil

icon Re: new i override???06.05.2007. u 07:17
evo, prekjuče mi je zatrebo new. Koristim neki source gde je baja lepo zamislio da će to uvek tako radi:

public bool IsDirty { get ... set ... }

šta da radim kad mi treba da malo našminkam getter? U izvedenoj klasi:

public new bool IsDirty { get { return base.IsDirty || nekimojizraz; } }
-----------------
new je krpež koji treba da ti pomogne da postojeću metodu/property prepraviš iako nije dizajnirana da bude polimorfna. treba ga izbegavati ali ne po cenu da komplikuješ svoj kod - kad mora, samo new!

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan
06.05.2007. u 07:17 

negyxo
Aleksandar Perkuchin
unknown

Član broj: 29751
Poruke: 643
*.sksyu.net.



Profil

icon Re: new i override???07.05.2007. u 07:32
@bunker
Ne moras do odgovoris, posle sam skontao. Nije mi bila jasna recenica zbog one reci 'uvotim' :)

@bjevta
new ima svoju primenu, i ne treba to dozivljavati tako 'ovo je krpzez' koristi se tamo gde treba i to je to. Nego pitanje koje se namce, je u kom kontekstu se koristi new i zasto? A to treba analizirati od slucaja do slucaja, mada ajde moze da se kaze neko generalno shvatanje. Inace ne mora se ni koristiti new, moze lepo da se napise samo nova deklaracije, jedino ce se kompajler zaliti ali i to moze da se iskljuci sa predprocesorskom direktivom:
Code:

#pragma warning disable 0108
#pragma warning disable 0114
// ne znam koji broj je za sta, treba proveriti u helpu :)

Only Time Will Tell
07.05.2007. u 07:32 

mmix
Miljan Mitrovic
Software Architect
Pancevo, Srbija

Moderator
Član broj: 17944
Poruke: 1806
*.maxre.bm.



Profil

icon Re: new i override???07.05.2007. u 14:20
Budite veoma veoma obazrivi sa new. Vise puta sam morao da krpim to "gazenje" metoda.

new je veliki neprijatelj polimorfizma i mozete i smete da ga koristite ako i samo ako ste 100% sigurni da NIKO NIKAD nece koristiti instancu vase klase preko baznog tipa.
Tj:

Code:

public class MyTextBox : TextBox
{

  public new string Text
  {
    get 
    {
      if (base.Text == "") return null;
      else return null;
    }
    set { ... } 
  }
}


// negde dalje

TextBox xx = new MyTextBox();
string tt = xx.Text;   // bice pozvan bazni getText i vratice se "", ne null


▪ "Why isn't my wireless mouse connected to the computer?" - 2008 Dumbest Technical Support Question award
▪ The word 'politics' is derived from the word 'poly', meaning 'many', and the word 'ticks', meaning 'blood sucking parasites' - Larry Hardiman
▪ If the good guy gets the girl, it's rated PG; if the bad guy gets the girl, it's rated R; and if everybody gets the girl, it's rated X
07.05.2007. u 14:20 

[es] :: .NET :: new i override???

[ Pregleda: 863 | Odgovora: 9 ]

Postavi temu Odgovori

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