4.6.7 Zwei Klassen

Hier sehen wir uns mal einen Sourcecode mit zwei Klassen an, die unabhängig von einander verwendet werden.

class Horse:
    def __init__(self, horseType: str):
        self.__horseType = horseType

    def ride(self, location: str) -> str:
        return f"Ich habe ein {self.__horseType} und reite {location}"


class Student:
    def __init__(self, name: str, matrNumber: int):
        self.__name = name
        self.__matrNumber = matrNumber
        self.__phoneNumber = "keine Angabe"

    def getName(self) -> str:
        return self.__name

    def getMatriculationNumber(self) -> int:
        return self.__matrNumber

    def setPhoneNumber(self, newPhoneNumber: str) -> None:
        self.__phoneNumber = newPhoneNumber

    def getPhoneNumber(self) -> str:
        return self.__phoneNumber


# Hauptprogramm
annaHorse = Horse("Deutsches Reitpony")
annaStudent = Student("Anna", 7205555)

# Beispielausgabe
print(annaHorse.ride("im Park"))
print(f"Name des Studenten: {annaStudent.getName()}")
print(f"Matrikelnummer: {annaStudent.getMatriculationNumber()}")
print(f"Telefonnummer vor Änderung: {annaStudent.getPhoneNumber()}")

annaStudent.setPhoneNumber("12345 67890")
print(f"Telefonnummer nach Änderung: {annaStudent.getPhoneNumber()}")

Eigentlich müsste es jetzt mit Vererbung, Aggregation und Komposition weiter gehen, aber dies lenen Sie dann im 2. Semester.