# -*- coding: utf-8 -*-
"""
@author: aeb1
"""

class Person():
    def __init__(self, vorname, nachname):
        self.__vorname = vorname
        self.__nachname = nachname
    def getVorname(self):
           return self.__vorname
    def getNachname(self):
           return self.__nachname
    def __str__(self):
           return self.__vorname + " " + self.__nachname     

class Kunstmaler(Person):
    def __init__(self, vorname, nachname):
        super().__init__(vorname, nachname)
        self.__objektListe = list()
    def addKunstobjekt(self, kunstobjekt):
        if isinstance(kunstobjekt, KunstObjekt):
            self.__objektListe.append(kunstobjekt)
        else:
            raise TypeError("invalid type for KunstObjekt")
    def getKunstobjekt(self):
         return self.__objektListe
    def __str__(self):
        return self.getVorname() + " " + self.getNachname()
    def save(self):
        with open ("kunst.txt", 'w') as file:
            file.write(str(self) + "\n")
            for s in self.__objektListe:
                file.write(str(s) + "\n")    
                
class KunstObjekt():
    def __init__(self, titel, kunstMaler):
        self.__titel = titel
        if isinstance(kunstMaler, Kunstmaler):
            self.__kunstMaler = kunstMaler
        else:
            raise TypeError("invalid type for Kunstmaler")
    def getTitel(self):
        return self.__titel
    def getKunstmaler(self):
        return self.__kunstMaler
    def __str__(self):
       return self.__titel
    
# Kunstmaler
maler = Kunstmaler("Anna", "Muster")
# Kunstobjekte
objekt1 = KunstObjekt("Bild1", maler)
objekt2 = KunstObjekt("Bild2", maler)
objekt3 = KunstObjekt("Bild3", maler)
# in Liste 
maler.addKunstobjekt(objekt1)
maler.addKunstobjekt(objekt2)
maler.addKunstobjekt(objekt3)
maler.save()