class Hus: def __init__(self, farge): self._farge = farge self._eier = None self.neste = None # Ny instansvariabel som brukes for # å kjede husobjekter sammen # skal kunne leses/settes utenfra, derfor ikke _ foran def sett_eier(self, hvem): self._eier = hvem def hent_eier(self): return self._eier def mal(self, farge): self._farge = farge def hent_farge(self): return self._farge class Person: def __init__(self, navn): self._navn = navn def hent_navn(self): return self._navn # Kjeder husobjektene sammen ved hjelp av pekere/referanser # Husregister blir referanse til første/forreste husobjekt husregister = None ola = Person("Ola") olas_hus = Hus("blå") olas_hus.sett_eier(ola) husregister = olas_hus # 1. hus kari = Person("Kari") karis_hus = Hus("rød") karis_hus.sett_eier(kari) karis_hus.neste = husregister husregister = karis_hus # Nytt 1. hus # Mer generelt kan vi bruke de samme hjelpevariablene: navn = "Ita" person = Person(navn) farge = "gul" nytt_hus = Hus(farge) nytt_hus.sett_eier(person) nytt_hus.neste = husregister husregister = nytt_hus hus = husregister while hus != None: print(hus.hent_eier().hent_navn(), "eier et hus med farge", hus.hent_farge()) hus = hus.neste olas_hus = karis_hus olas_hus.mal("gul") print(karis_hus.hent_farge()) olas_hus = Hus("rød") print(karis_hus.hent_farge()) print(olas_hus) print(karis_hus) hus = husregister while hus != None: print(hus.hent_eier().hent_navn(), "eier et hus med farge", hus.hent_farge()) hus = hus.neste