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

pomoc u vezi Abstract class

[es] :: .NET :: pomoc u vezi Abstract class

[ Pregleda: 2059 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

ZOSTROG
ZORAN RADONJIC
BEOGRAD

Član broj: 85725
Poruke: 40
*.ptt.yu.



Profil

icon pomoc u vezi Abstract class23.06.2006. u 07:27 - pre 217 meseci

Pomoc za pocetnika...

Da li neko moze da mi neko ukratko objasni pojam abstract class u c#
sa mogucnoscu prakticne primene ....


hvala
 
Odgovor na temu

DarkMan
Darko Matesic

Član broj: 20445
Poruke: 572
..mtsns-ns.customer.sbb.co.yu.

Jabber: DarkMan


Profil

icon Re: pomoc u vezi Abstract class23.06.2006. u 16:18 - pre 217 meseci
Poenta abstract klase je da napravis baznu klasu koja je, grubo receno, nedovrsena tj. ima metoda bez koda (zovu se apstraktne metode). Apstraktne klase se ne mogu instancirati vec se moraju naslediti nekom novom klasom koja ce implementirati te apstraktne metode tj. imati kod za te metode koje fale.

Apstraktne klase ispred svog naziva imaju kljucnu rec abstract i u sebi sadrzi apstraktne metode koje u definiciji imaju istu tu kljucnu rec ali nemaju nikakav kod (samo stavis posle imena metode ;).
Kada napravis novu klasu koja nasledjuje tu apstraktnu klasu moras napisati kod za sve apstratkne metode (mesto abstract pises override).

Evo jedan mali primer:
Code:

        public abstract class Osoba
        {
            public static void KakoSeZove(Osoba osoba)
            {
                MessageBox.Show(osoba.Ime());
            }
            public abstract String Ime();
        }

        public class Pera : Osoba
        {
            public override String Ime()
            {
                return "Pera";
            }
        }
        public class Zika: Osoba
        {
            public override String Ime()
            {
                return "Zika";
            }
        }

            Osoba osoba1 = new Pera();
            Osoba osoba2 = new Zika();

            Osoba.KakoSeZove(osoba1);
            Osoba.KakoSeZove(osoba2);


Izvinjavam se na malo grubljem opisu. Mozda neko moze to malo strucnije da objasni.
 
Odgovor na temu

ZOSTROG
ZORAN RADONJIC
BEOGRAD

Član broj: 85725
Poruke: 40
*.ptt.yu.



Profil

icon Re: pomoc u vezi Abstract class26.06.2006. u 07:21 - pre 217 meseci

Hvala !!

Sve je super objasnjenoo....
 
Odgovor na temu

misk0
.: Lugano :. _.: CH :.

SuperModerator
Član broj: 634
Poruke: 2824
*.adsl.ticino.com.

ICQ: 46802502


+49 Profil

icon Re: pomoc u vezi Abstract class26.06.2006. u 16:01 - pre 217 meseci
Da dodam josh malo posto to citam trenutno... :)

Iako je ne mozes instancirati (ne mozes kreirati objekat od abstract klase) mozes je koristiti kao type za parametre u drugim klasama. Recimo ovako nesto
Code:
    public abstract class Novi
    {
        public abstract string Stampaj();
    }

    public class Sledeci : Novi
    {
        public override string Stampaj()
        {
            return "misk0";
        }
    }
    class Podatak
    {
        protected string ime;
        public string Ime
        {
            get
            {
                return ime;
            }
        }
        public Podatak(Novi nv)
        {
            ime = nv.Stampaj();
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Sledeci sl = new Sledeci();
            Podatak pod = new Podatak(sl);
            Console.WriteLine(pod.Ime);
        }
    }


Kreirao sam Novi kao abstract klasu i nju sam stavio kao jedan parametar u konstruktor metod klase Podatak. Buduci da ne mogu kreirati objekt Novi (jer je to abstract klasa), naslijedio sam ga u objekat Sledeci i onda sam taj objekat proslijedio kao parametar pri kreiranju objekta Podatak.
Takodje abtract klase se cesto zovu i base abstract jer je obavezno naslijedjivanje te klase. Naslijedjene klase se zove jos 'concrete' ili konkretne (ako se moze previsti tako).

:: Nemoj se svadjati sa budalom, ljudi cesto nece primjetiti razliku ::
 
Odgovor na temu

[es] :: .NET :: pomoc u vezi Abstract class

[ Pregleda: 2059 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

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