first commit
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/__pycache__
|
21
README.md
Normal file
21
README.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Beispiel für objektorientierte Programmierung (OOP) in Python
|
||||||
|
## Klassen
|
||||||
|
* `FireFighter` ist die Basisklasse für einen Feuerwehrmann
|
||||||
|
* `F3FireFighter` erweitert die Klasse `FireFighter` um F3 spezifische Anforderungen
|
||||||
|
|
||||||
|
## Ausführung
|
||||||
|
`main.py` starten
|
||||||
|
|
||||||
|
## Ausgabe
|
||||||
|
```
|
||||||
|
--- einfache Klassennutzung ---
|
||||||
|
Yannic: 150 Bar
|
||||||
|
Daniel: 100 Bar
|
||||||
|
Robin: 90 Bar
|
||||||
|
|
||||||
|
--- das Gleiche nochmal mit Klassenvererbung ---
|
||||||
|
HINWEIS: Yannic ist F3 und kann auch ohne AGT atmen!
|
||||||
|
Yannic: 150 Bar
|
||||||
|
Daniel: 100 Bar
|
||||||
|
Robin: 90 Bar
|
||||||
|
```
|
13
f3firefighter.py
Normal file
13
f3firefighter.py
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
# import class FireFighter from file firefighter(.py)
|
||||||
|
from firefighter import FireFighter
|
||||||
|
|
||||||
|
# new class F3FireFighter extending class FireFighter
|
||||||
|
class F3FireFighter(FireFighter):
|
||||||
|
|
||||||
|
# overriding printPressure in class FireFighter
|
||||||
|
def printPressure(self):
|
||||||
|
print("HINWEIS: %s ist F3 und kann auch ohne AGT atmen!" % self.name)
|
||||||
|
# calling printPressue as defined in class FireFighter
|
||||||
|
FireFighter.printPressure(self)
|
21
firefighter.py
Normal file
21
firefighter.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
class FireFighter:
|
||||||
|
# firstname
|
||||||
|
name = None
|
||||||
|
|
||||||
|
# in bar
|
||||||
|
pressure = None
|
||||||
|
|
||||||
|
# constructur, called on object instantiation
|
||||||
|
def __init__(self, name):
|
||||||
|
self.name = name
|
||||||
|
|
||||||
|
def beginAGT(self, initPressure):
|
||||||
|
self.pressure = initPressure
|
||||||
|
|
||||||
|
def endAGT(self, pressureUsage):
|
||||||
|
self.pressure = self.pressure - pressureUsage
|
||||||
|
|
||||||
|
def printPressure(self):
|
||||||
|
print("%s: %d Bar" % (self.name, self.pressure))
|
51
main.py
Executable file
51
main.py
Executable file
@ -0,0 +1,51 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
from firefighter import FireFighter
|
||||||
|
from f3firefighter import F3FireFighter
|
||||||
|
|
||||||
|
|
||||||
|
print('--- einfache Klassennutzung ---')
|
||||||
|
|
||||||
|
# create firefighters
|
||||||
|
yannic = FireFighter("Yannic") # calls constructor ("__init__")
|
||||||
|
daniel = FireFighter("Daniel")
|
||||||
|
robin = FireFighter("Robin")
|
||||||
|
|
||||||
|
# start agt on each firefighter
|
||||||
|
yannic.beginAGT(310)
|
||||||
|
daniel.beginAGT(310)
|
||||||
|
robin.beginAGT(300)
|
||||||
|
|
||||||
|
# end agt on each firefighter
|
||||||
|
yannic.endAGT(160)
|
||||||
|
daniel.endAGT(210)
|
||||||
|
robin.endAGT(210)
|
||||||
|
|
||||||
|
# print remaining pressure
|
||||||
|
yannic.printPressure()
|
||||||
|
daniel.printPressure()
|
||||||
|
robin.printPressure()
|
||||||
|
|
||||||
|
print('\n--- das Gleiche nochmal mit Klassenvererbung ---')
|
||||||
|
|
||||||
|
# create firefighters
|
||||||
|
yannic = F3FireFighter("Yannic")
|
||||||
|
daniel = FireFighter("Daniel")
|
||||||
|
robin = FireFighter("Robin")
|
||||||
|
|
||||||
|
# start agt on each firefighter
|
||||||
|
yannic.beginAGT(310)
|
||||||
|
daniel.beginAGT(310)
|
||||||
|
robin.beginAGT(300)
|
||||||
|
|
||||||
|
# end agt on each firefighter
|
||||||
|
yannic.endAGT(160)
|
||||||
|
daniel.endAGT(210)
|
||||||
|
robin.endAGT(210)
|
||||||
|
|
||||||
|
# print remaining pressure
|
||||||
|
yannic.printPressure()
|
||||||
|
daniel.printPressure()
|
||||||
|
robin.printPressure()
|
||||||
|
|
||||||
|
|
Reference in New Issue
Block a user