kostenloser Webspace werbefrei: lima-city


C# Abstrakte Klassen

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    s******i

    Hallo,
    ich habe ein wenig mit Abstrakten Klassen herumexperimentiert und habe etwas ganz unbequemes feststellen müssen: Die Argumente der abstrakten Funktionen und Methoden. Ich möchte meine Funktionen nämlich so allgemein haben, wie es geht! Bis jetzt habe ich das mit "params object[] arg" gelöst. Ist aber wahrscheinlich nicht die sauberste Lösung. oder?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hm, ich habe auch mal mit Objects rumexperimentiert, jedoch in VB. Ist aber so ziemlich das gleiche.

    Klingt natürlich verlockend so etwas zu machen. Aber ich denke, es rechnet sich nicht in jedem Fall.

    Du musst bedenken, dass du innerhalb der Funktion ja irgendetwas mit den übergebenen Objekten tun willst.
    Also wirst du wohl auch irgendwelche Methoden der Objekte aufrufen.
    Du musst aber höllisch aufpassen, weil wenn du eine Methode aufrufst, die für dieses Objekt nicht definiert
    wurde, dann kriegst du einen Laufzeitfehler.
    Meiner Meinung macht das mehr Mühe als es einem an Arbeit abnimmt. Man verliert nämlich die Übersicht und
    man muss evtl. irgendwelche doofen Typ-Abfragen machen, bevor man Methoden aufruft. Bei komplexeren
    Funktionen wird das schnell übersichtlich und es gibt merkwürdige Fehler, wenn man nicht aufpasst.

    Was du dir noch anschauen könntest: Template-Klassen. Sind für diesen Zweck evtl. besser geeignet.
    Template-Klassen müssten in C# auch realisierbar sein...

    Vielleicht hast du auch schon mal von Polymorphie und Vererbung gehört, was C++ auch unterstützt. Das aber sinnvoll
    einzusetzen braucht aber seine Zeit (viel Übung in C++). Richtig angewandt nimmt es einem eine Menge Arbeit ab.
    Das Herumspielen mit dem Object-Typ halte ich für etwas fummelig und fehlerträchtig. Rate dir also davon ab.
  4. Autor dieses Themas

    s******i

    Ja, das mit den Templates ist in C# nicht so wie in C++ :(. Aber der VC10 kennt zum Glück Templates. Jetzt nervt mich aber der Debugger, der meint, dass der Typ T nicht jene Methode hat.


    Beitrag zuletzt geändert: 21.10.2010 18:48:30 von spuglisi
  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!