| 

.NET C# Java Javascript Exception

0
Moin,

ich steh gerade ziemlich auf dem Vererbungsschlau.

Ich verdeutliche es am besten an einem Beispiel.

Es gibt 4 Klassen
1. HtmlPage
2. ThisPage
3. AnoterPage
4. YetAnotherPage

HtmlPage enthält einige grundlegende Funktionen (GetWebCode, DownloadFile, etc), die anderen 3 Klassen ist dann auf spezielle Seiten gemünzt und beinhalten weitere Funktionen (GetHeader, GetURLs, etc.).

Benutzen möchte ich das ganze dann so:
HtmlPage thePage = new HtmlPage();

if (thisPage)
thePage = new ThisPage();
else if (anotherPage)
thePage = new AnotherPage();
else if (yetAnotherPage)
thePage = new YetAnotherPage();

ArrayList urls = thePage.GetURLs();


Mein Problem ist, dass er aus "thePage" zwar brav das neue Objekt macht, er aber trotzdem "GetURLs" in der HTMLPage Klasse aufruft. In der ist aber nur ein leeres Konstrukt dafür, da er eigentlich das überschriebene aus der "anotherPage" Klasse nehmen soll.

Jetzt steh ich auf dem Schlauch. Mit welchen Befehlen mach ich ihm klar, dass in htmlPage nur ein leeres Gerüst vorhanden ist und er das überschriebene nehmen soll?
News:
10.01.2010
Feroc 1,2k 2 9
2 Antworten
2
Gut, hatte vergessen die Funktionen in die Hauptklasse mit "virtual" und die überschriebenen mit "override" zu kennzeichnen.
11.01.2010
Feroc 1,2k 2 9
1
Kann leider gerade meinen Beitrag nicht editieren.

Mein Problem liegt wohl weniger in der Vererbung, als im Umgang mit den Objekten. Da jede Page von der HtmlPage erbt, dachte ich, dass ich aus einem HtmlPage Objekt einfach eines einer speziellen Page zuweisen kann.

Ziel ist es, dass ich mit dem Objekt arbeiten kann, welches ich oben definiert habe und nicht 10 verschiedene page Objekte erstellen muss.
10.01.2010
Feroc 1,2k 2 9

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH