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