problem z tablicą klas abstrakcyjnych

0

stworzylem klase abstrakcyjna i pare klas ktore dziedzicza z tej klasy, teraz chciałbym miec tablice typu tej abstarkcyjnej klasy ale jak ja tworze to nie moge jej zainicjalizowaz przez co ma ona caly czas wartosc null i nie moge nic do niej zapisać. Dokładniej:


abstract  class A
 {
 //cos tam
 }

  class X:A
 {
 //coś tam

 }

void f()
 {
 A[] tab;
  tab[0]=new X; //  tym miejscu mi się wywala
 }


0

Naucz sie skladni i tego jak sie tworzy tablice

0

foflik o co ci dokladniej chodzi. Jezeli napisze A[] tab=new A[10];
to będzie krzyczał że nie potrafi utworzyc obiektu typu A.

0
 A[] tab;
  tab[0]=new X;

A[] tab; w C# klasy to typy referencyjne wiec bez new sie nie obejdzie , a jak sam napisales nie da sie go tutaj urzyc bo A to typ abstrakcyjny wiec nie da sie utworzyc obiektu tego typu.

0

Czyli jedynym rozwiazaniem jest uzycie kolekcji??

0
Paweł Adamski napisał(a)

foflik o co ci dokladniej chodzi. Jezeli napisze A[] tab=new A[10];

to będzie krzyczał że nie potrafi utworzyc obiektu typu A.
No właśnie nie będzie. A jest klasą abstrakcyjną i fakt nie możesz stworzyć jej egzemplarza, ale tablice możesz bez problemu.

A[] tab = new A[10];
tab[0] = new X();
//...
0

reVis dzięki działa.</b>

1 użytkowników online, w tym zalogowanych: 0, gości: 1