vollständig objektorientiert: Anwendung selbst ist auch ein Objekt,



  • Bitte , kann jemand mir erklären, was bedeutet
    "vollständig objektorientiert: Anwendung selbst ist auch ein Objekt"
    ??????
    Danke sehr.



  • In welchem Zusammenhang?

    Ich würde mal sagen, daß in dem System alles als Objekte herumfliegt - inklusive eines CXyzApp Objekts, das die Anwendung darstellt.



  • Das klingt wie anno dunnemals bei Turbo Pascal 7.0, da bestand das eigentliche Programm auch aus

    BEGIN
      application.init
      application.run
      application.done
    END.
    

    oder so aehnlich.

    Ob das in C++ so sinnvoll ist bzw. irgendwelche Vorteile bringt kann ich so nicht sagen (kann mir allerdings keine Vorteile vorstellen). Aussehen muesste das dann ja in etwa wie folgt:

    class TApplication {
    public:
      TApplication(int, char**);
      int run();
      ~TApplication();
    private:
      /*...*/
    };
    
    int main(int argc, char** argv) { //ohne main gehts nunmal nicht!
      TApplication app(argc, argv);
      return app.run();
    }
    

    Ob ich den Code jetzt in einem Application objekt verstecke oder direkt in die main() schreib scheint mir keinen grossen Unterschied zu machen, es sei denn man hat grundverschiedene Anwendungen in ein Programm zusammengefasst:

    class TApplication {
      virtual int run() = 0;
      virtual ~TApplication();
      /*...*/
    };
    
    class TApp1 : public TApplication {
      /* Was lustiges...*/
    };
    
    class TApp2 : public TApplication {
      /* Was ernstes...*/
    };
    
    TApplication* give_app(int, char**) {
      if(/*...*/) return new TApp1(/*...*/);
      return new TApp2(/*...*/);
    }
    
    int main(int argc, char** argv) {
      TApplication theapp = give_app(argc, argv);
      int returncode = theapp->run();
      delete theapp;
      return returncode;
    }
    


  • Oh, vielen Dank, 🙂 ich hoffe mit eure Hilfe kann ich ein Bisschen weiter gehen.Evgeniya Spiegel


Anmelden zum Antworten