OOP in Python Lösung+ Prüfungsvorbereitung 1.

Werbung
OOP in Python
Lösung+
Prüfungsvorbereitung
1. (a) 6
(b) Objekt (Instanz): x
(c) Instanzvariable: b
(d) Klassenvariable: a
2. 10
3
x wird als Bezeichner für eine Klassenvariable (mit dem Anfangswert 3) als auch für
eine Instanzvariable verwendet.
Python kann anhand des Bezeichners vor dem x erkennen, ob es sich um eine Objektoder um eine Klassenvariable handelt.
3. 2 4
4. False
True
5. (a) 7
(b) 18
(c) 11
(d) 42
6. class Lampe:
def __init__(self):
self.zustand = False
def toggle(self):
if self.zustand == False:
self.zustand = True
else:
self.zustand = False
def __str__(self):
if self.zustand == True:
return ’Die Lampe ist eingeschaltet.’
else:
return ’Die Lampe ist ausgeschaltet.’
# Test-Client:
L = Lampe()
L.toggle()
L.toggle()
L.toggle()
print(L)
(nicht verlangt; dient nur der Illustration)
# erzeugt einen neue (ausgeschaltete) Lampe
# Schaltet die Lampe ein
# Schaltet die Lampe aus
# Schaltet die Lampe ein
# Ausgabe: ’Die Lampe ist eingeschaltet’
7. class Stack:
def __init__(self):
self.elemente = []
def push(self, e):
self.elemente.append(e)
def pop(self):
return self.elemente.pop()
def isEmpty(self):
if len(self.elemente) == 0:
return True
else:
return False
# oder k~
A 41 rzer: return (len(self.elmente) == 0)
def __len__(self):
return len(self.elemente)
# Test-Client:
s = Stack()
s.push(3)
s.push(’abc’)
s.push(4)
s.pop()
print(len(s))
(nicht verlangt; dient nur der Illustration)
# erzeugt einen leeren Stack
# legt die Zahl 3 auf den Stack
# legt den String ’abc’ auf den Stack
# legt die Zahl 4 auf den Stack
# entfernt das oberste Element (4)
# Ausgabe: ’2’ (die aktuelle Laenge des Stacks)
Herunterladen