vorab_1: ich bin neu hier und habe schon noch meiner Frage gesucht, aber keine Antwort gefunden. Falls sie bereits beantwortet wurde, freue ich mich auch über einen Link.
vorab_2: Python ist meine erste Programmiersprache, die ich zur Zeit lerne. Bisher habe ich ein Buch zur Einführung und diverse Videos bei Youtube zum Lernen verwendet. Ich verfüge also über keine wirkliche Erfahrung was das Programmieren allgemein angeht, bilde mir aber ein, dass ich die wesentlichen Basics aus dem Buch für Python3 verstanden habe.
Nun zu meiner Frage zur OOP, bei der es nicht um Vererbung geht (was Vererbung macht, ist mir relativ klar):
Meine Überlegung: ich möchte ein Auto mittels einer Klasse Fahrzeug erstellen und dieses Auto soll 4 Räder haben, welche ebenfalls mittels einer Klasse Rad erstellt werden. Der Code könnte z.B. wie folgt aussehen:
Code: Alles auswählen
class Rad():
def __init__(self, diameter, mass):
"""Einheiten: [mm],[kg]"""
self.durchmesser=diameter
self.masse=mass
vorderrad=Rad(700,10)
hinterrad=Rad(750,14)
#alle Attribute von einer Instanz 'Rad' mitsamt deren Werte ausgeben
print(vars(vorderrad))
print(vars(hinterrad))
class Fahrzeug():
def __init__(self, lenght, width, hight, lf, rf, lb, rb): # lf-->left front, rf--> right front etc
"""Einheiten: [mm],[kg]"""
self.laenge=lenght
self.breite=width
self.höhe=hight
self.linkes_vorderrad=lf
self.rechtes_vorderrad=rf
self.linkes_hinterrad=lb
self.rechtes_hinterrad=rb
auto1=Fahrzeug(4.9, 1.85, 1.5, vorderrad, vorderrad, hinterrad, hinterrad) #die Vorderräder sind also kleiner als die Hinterräder
# ein Attribut des Rades der Instanz 'auto1' ausgeben
print(auto1.linkes_hinterrad.durchmesser)
Und als abschließende Frage: ist der Zugriff auf den Durchmesser des linken Hinterrades von auto1 so zulässig (wird das so in der Praxis gemacht?)?
Danke schon mal (und sorry, dass es so viel Text geworden ist; wollte es so eindeutig wie möglich formulieren)!