Klasse mit Array aus einer andere Klasse und darauf zugreifen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Captnemo schrieb:

    Wann ist denn eine Klasse sinnvoller und wann ein Struct?
    Klassen stellen eher Entitäten dar, also Dinge, die auch eigenständig existieren können. Das Getriebe eines Fahrrads könnte man beispielsweise besser über eine Klasse darstellen, weil man es aus einem Fahrrad ausbauen und in ein anderes einbauen kann. Das gilt beispielsweise für die Anzahl der Übersetzungen nicht, weswegen das eher über einen Werttyp dargestellt werden sollte. Abgesehen davon neigen Entitäten zur Variantenbildung (Kettenschaltung, Nabenschaltung, [stufig und stufenlos]).

    Captnemo schrieb:

    Nein, im Gegenteil. Eine kurze und knappe Erklärung, die erst mal eine gute Definition darstellt.
    Die aber Fehler enthält (siehe oben).
    „Meine Komplikation hatte eine Komplikation.“
  • macmoonshine schrieb:

    Klassen stellen eher Entitäten dar, also Dinge, die auch eigenständig existieren können. Das Getriebe eines Fahrrads könnte man beispielsweise besser über eine Klasse darstellen, weil man es aus einem Fahrrad ausbauen und in ein anderes einbauen kann. Das gilt beispielsweise für die Anzahl der Übersetzungen nicht, weswegen das eher über einen Werttyp dargestellt werden sollte. Abgesehen davon neigen Entitäten zur Variantenbildung (Kettenschaltung, Nabenschaltung, [stufig und stufenlos])..
    Okay, da muss ich doch noch mal nachfragen, damit ich das in mein Hirn bekomme.
    Heißt das am Ende, dass ich in eine Klasse ein Struct einbauen kann? Umgekehrt auch....aber das würde keinen Sinn ergeben?

    ganz grob in etwa so:

    Quellcode

    1. struct TSchaltung {
    2. var AnzahlGaenge: Int
    3. var Automatik: Bool
    4. }
    5. class TGetriebe {
    6. var Hersteller: String
    7. var Schaltung: TSchaltung
    8. }
    9. class TFrahrrad {
    10. var Farbe: String
    11. var Getriebe: TGetriebe
    12. }
    Alles anzeigen
  • Captnemo schrieb:

    Heißt das am Ende, dass ich in eine Klasse ein Struct einbauen kann?

    Klar geht das.

    Captnemo schrieb:

    Umgekehrt auch....aber das würde keinen Sinn ergeben?
    Ja, wieso nicht:

    Quellcode

    1. struct A {
    2. var date = NSDate()
    3. }
    Das ist aus Swift-Sicht natürlich ein etwas ausgeartetes Beispiel, weil Datum eher ein Struct sein sollte, es aber in der unergründlichen Logik des Herrn A. nicht ist. Bei den Foundation-Klassen mag ein Enthaltensein häufig Sinn ergeben. Bei Entitäten eher nicht. Allerdings können Assoziationen durchaus sinnvoll sein. Beispielsweise könnten Bauteile, die man als Struct modelliert, auf die Entität verweisen, in der sie verbaut sind.
    „Meine Komplikation hatte eine Komplikation.“