In einer Methode einer Klasse die Methode einer anderen Klasse aufrufen ?



  • Weil ich in AEB und TI als Klasse, die Attribute Fächer und Noten geschrieben hätte ?!?



  • Eine Klasse Studiengang und zwei Objekte dieser Klasse.



  • Smuji schrieb:

    Weil ich in AEB und TI als Klasse, die Attribute Fächer und Noten geschrieben hätte ?!?

    Was ist eine Klasse? Was ist ein Objekt?



  • Was ich mich aktuell immer noch frage... laut TE geht es um Vererbung. In der Aufgabenstellung sehe ich keine Gründe für Vererbung. Übersehe ich etwas?



  • Nun ja, eine Klasse ist etwas ähnliches wie eine Struktur

    ein Objekt wird erstellt. bzw. ein Objekt "erweckt diese zum Leben", da eine Klasse ohne objekte nicht nutzbar ist. eine klasse ist sozusagen sowas ähnliches wie ein datentyp...vom funktionsprizip her.

    Klasse Hans
    Private:
    Attribute

    Public:
    Methoden

    und das Objekt erstellt sozusagen eine Instanz der Klasse

    bsp. in main(): Hans objekt verglichen mit einer variablen vom typ integer, ist das objekt vom typ der klasse Hans. ich hoffe dass ich es einigermaßen richtig erklärt habe....verwechsel noch oft die worte attribut, variable, methode, funktion etc.

    @ schlangenmensch..... stimmt, daran habe ich noch garnicht gedacht.
    du meinst:

    Studiengang aeb und Studiengang ti ?

    fur was brauche ich dann den fachbereich als klasse ?

    schreibe ich dann in die klasse studiengang auch die noten und fächer ?

    EDIT:

    @inflames2k: es besteht vermutlich keine notwenigkeit zur vererbung, da wir aber in den UMLs auch lernen sollen mit vererbung etc. umzugehen und da wir in vorherigen aufgaben mit vererbungen gearbeitet haben, wäre es sinnvoll dieses zum verfestigen weiterhin zu nutzen, wenn es sinn macht



  • Smuji schrieb:

    fur was brauche ich dann den fachbereich als klasse ?

    schreibe ich dann in die klasse studiengang auch die noten und fächer ?

    Weil jede Hochschule mehrere Fachbereiche haben kann, die aus verschiednenen Studiengängen besteht.
    Zum Beispeil
    Uni XYZ:
    Fachbereiche: Naturwissenschaften, Geisteswissenschafte
    FB Naturwissenschaften hat die Studiengänge:
    Mathematik, Physik
    Der Studiengang Mathematik hat die Pflichtvolesungen (Fächer):
    Lineare Algebra und Analysis

    Ich kenn kein Fach, welches Noten hat. Der Student, der den Studiengang belegt hat eine Note in dem Fach.



  • Danke ich komme der Sache schon näher.

    - Eine Hochschule besteht aus mehreren (hier nur 1) Fachbereichen

    ....das heißt, HOCHSCHULE ist keine Klasse, sondern nur die einzelnen Fachbereiche stellen Klassen da (hier nur eine). Alle Fachbereiche sind meine Hochschule, sollen aber nicht in einer Klasse Hochschule gebündelt werden, da es sowieso keine Attribute in dieser Klasse Hochschule gäbe.

    -Ein FB offeriert 2 Studiengänge, die zur Laufzeit (Heap) erstellt werden.

    .... das heißt, die einzelnen Studiengänge werden Objekte/Instanzen der Klasse Fachbereich.

    - ein studiengang umfasst max. 2 PVs, die belegt werden können und auch Noteneintragungen zu diesen sollen möglich sein.

    .... das heißt PVs und Noten sind auch Attribute der Klasse Fachbereich ?

    - Es soll eine Klasse Student erstellt werden, welche den Namen der Stundenten als Attribut enthält.

    ... also erbt fachbereich von Student, um den Namen dort zu hinterlegen ? Oder einfach mit hilfe von get- bzw- setmethoden die attribute "schreiben".

    Die Frage ist, wenn ich das so mache, dann habe ich ja nur 2 Klassen ( Fachbereich und Student) ???!?



  • Klasse Hans

    Du beschreibst zwar Klasse/Objekt im Prinzip richtig, zeigst dann aber in deinem Beispiel, das du das nicht verstanden hast.

    class Mensch ...
    
    Mensch hans( "Hans", "im Glück");
    Mensch schneewittchen( "Anna", "Schneewittchen" );
    

    Bevor du weiter an der Aufgabe rummurkst, solltest du deine Unterlagen noch einmal durchgehen.



  • Smuji schrieb:

    Danke ich komme der Sache schon näher.

    - Eine Hochschule besteht aus mehreren (hier nur 1) Fachbereichen

    ....das heißt, HOCHSCHULE ist keine Klasse,

    kalt



  • ich verstehe nicht was du mir unterstellen möchtest. dein obiges beispiel verstehe ich ohne probleme. und ich verstehe auch was eine klasse ist wie sie aufgabaut ist und wie sie zu benutzen ist.

    sorrry, aber dein zweiter post "kalt" ist so hilfreich wie ein hundehaufen für mich.

    du willst mir damit sagen, dass ich eine klasse Hochschule doch benötige ? Für was ? also welche aufgabe stellt diese klasse ? bzw. welche attribute besitzt sie ?

    bis jetzt ergeben die klassen Student und Fachbereich für mich einen Sinn.

    in student wird der name abgelegt. und fachbereich nutze ich für meine instanzen aeb und ti die vom typ fachbereich sind.

    Schreib mir doch bitte mal grob wie für dich die Klassen aussähen und welche Attribute wo stünden ? wenn ich mir die lösungen von einigen kollegen anschaue, besitzen diese 6 Klassen und alles geht über zig seiten...also extrem riesige lösugswege.



  • Smuji schrieb:

    du willst mir damit sagen, dass ich eine klasse Hochschule doch benötige ? Für was ?

    Smujis Aufgabe schrieb:

    - Eine Hochschule besteht aus einer Anzahl von Fachbereichen

    Also bietet sich die Klasse 'Hochschule' als Container für Fachbreiche an.
    Eine Hochschule hat auch Studenten.

    Edit: Bzw. hier in der Aufgabe haben eher Fachbereiche Studenten.



  • Ok, verstehe schon was du sagen willst, aber was mache ich mit der Klasse Hochschule ? Namen werden ja in der Klasse Student hinterlegt und die Noten und Fächer eher in der Klasse Fachbereich..

    Nur welche Methoden oder Attribute sind denn in der Klasse Hochschule sinnvoll ?



  • Smuji schrieb:

    Ok, verstehe schon was du sagen willst

    Offenbar nicht.
    Attribut wäre vector von Fachbereichen und Methoden z.B. 'FachbereichHinzufuegen'



  • Vielleicht solltest Du Dir noch einmal klar machen was Vererbung bedeutet. Durch Vererbung wird eine "ist - ein" - Beziehung aufgebaut.

    Beispiel:

    Kraftfahrzeug
    / \
    |
    |
    PKW

    Ein PKW ist ein Kraftfahrzeug, aber ein Kraftfahrzeug ist kein bzw. nicht unbedingt ein PKW.

    Auf Deine Aufgabenstelltung bezogen:

    Wenn die Klasse Student den Namen der Studenten als Attribut enthalten soll, müssen ja die Klassen Fachbereich bzw. die Studiengänge von dieser Klasse erben.

    Also "ein Fachbereich ist ein Student" und "ein Studiengang ist ein Student"; sieht schon seltsam aus...

    Du willst aber etwas in der Art ausdrücken "Ein Hochschule hat Fachbereiche; ein Fachbereich hat Studiengänge; Studiengänge haben Studenten", also eine "hat - ein" - Beziehung. Stichwort hier wäre "Aggregation/Komposition".

    Jetzt würde ich 2 Klassen AEB und TI noch erstellen, welche die Fächerbezeichnungen und Noten als Attribute enthalten ?!? Oder wie soll ich die Klassen wählen ?

    Hier zeigt sich das Du eben nicht verstanden hast was eine Klasse und was die Instanz einer Klasse, also ein Objekt ist:

    AEB und TI sind in diesem Fall Instanzen der Klasse "Studiengang"; Du erstellst also keine "2 Klassen" sondern 2 Objekte einer Klasse!



  • Ich habe die Vererbung hier im c++ Buch (Grundkurs C++ von Jürgen Wolf) vor mir liegen und verstehe sie auch. Durch die Vererbung kann eine Klasse auf die "meist public" Daten einer anderen Klasse zugreifen.

    Im Buch ist es mit dem Beispiel der Basisklasse Person und der abgeleiteten Klasse Kunde dargestellt.

    Die Klasse Fachbereich erbt von der Klasse Student, da sie ja dort den Namen hinterlegen möchte.

    Wie würden denn eure Klassen aussehen und welche Aufgabe hat die Klasse Hochschule ?

    Alle Methoden die ich benötige kann ich doch auch in die Klasse Fachbereich schreiben ? Für was also Hochschule ?

    @psycho, eigentlich will ich nix anderes als die aufgabe mit den genannten anforderungen zu lösen. und momentan hänge ich mich an der klasse Hochschule auf....



  • Smuji schrieb:

    Grundkurs C++ von Jürgen Wolf

    Ok, jetzt wird einiges klar. Das ist das wahrscheinlich weltschlechteste C++ Buch. Benutze es nur zum Feuer machen.



  • Smuji schrieb:

    Die Klasse Fachbereich erbt von der Klasse Student, da sie ja dort den Namen hinterlegen möchte.

    kalt

    (du betreibst programmieren als Suchspiel)



  • und du postest hier nur um fehler zu suchen und sie mir anschließend vorzuhalten, anstatt mir hilfestellungen zu geben oder auf meine fragen einzugehen.

    dann spare es dir doch bitte einfach in meinem thread zu posten.

    ich schreibe hier schon über 4 seiten und bin kaum einen schritt weiter gekommen, weil ich ständig nur gegenfragen gestellt bekomme.

    zum thema klasse hochschule bin ich noch immer auf dem gleichen stand wie seiten zuvor, weil mir stattdessen gesagt wird, man kann mit dem c++ buch gut feuer machen.



  • Smuji schrieb:

    zum thema klasse hochschule bin ich noch immer auf dem gleichen stand wie seiten zuvor, weil

    du scheinbar die Antworten nicht liest.



  • doch, falls du das meinst -> Also bietet sich die Klasse 'Hochschule' als Container für Fachbreiche an.

    wenn, dann meinst du sicher "als container für den fachbereich", denn es gibt ja nur den einen...

    aber was genau meinst du damit? bzw. wie sieht sowas aus? also was macht hochschule mit fachbereich ?


Anmelden zum Antworten