Seite 1 von 1
Projekte vorschlagen..
Verfasst: Dienstag 31. März 2015, 19:36
von Mr.White
Hallo.
Könnt ihr mir bitte ein Projekte vorschlagen, welche auch dafür geeignet ist OOP zu lernen ?
Währe echt nett..
Und bitte nur Entwürfe die auch Sinnvoll sind und nicht sowas wie - "lern es einfach".
Danke im voraus.
Re: Projekte vorschlagen..
Verfasst: Mittwoch 1. April 2015, 00:10
von Woddy
Mr.White hat geschrieben:Hallo.
Könnt ihr mir bitte ein Projekte vorschlagen, welche auch dafür geeignet ist OOP zu lernen ?
Währe echt nett..
Und bitte nur Entwürfe die auch Sinnvoll sind und nicht sowas wie - "lern es einfach".
Danke im voraus.
Sowas hier koenntest du machen....
Code: Alles auswählen
#!/usr/bin/env python3
class Kunde():
def __init__(self, name, kontonummer, blz, kontostand):
self.name = name
self.kontonummer = kontonummer
self.bankleitzahl = blz
self.kontostand = kontostand
def einzahlen(self, betrag):
self.kontostand += betrag
self.ausgabe
def auszahlen(self, betrag):
self.kontostand -= betrag
self.ausgabe
def ausgabe(self):
print("Name:", self.name,"Kto.:", self.kontonummer, \
"BLZ.:", self.bankleitzahl, "Betrag:", self.kontostand, "Euro")
kunde1 = Kunde("Juergen", 10001, 500500, 230)
kunde1.ausgabe()
kunde1.einzahlen(12)
kunde1.ausgabe()
Re: Projekte vorschlagen..
Verfasst: Mittwoch 1. April 2015, 00:36
von BlackJack
@Woddy: Das `self.ausgabe` in der Ein- und Auszahlmethode gehört da nicht hin und die 1 bei `kunde1` sollte da nicht stehen.
Die `ausgabe()`-Methode würde ich auch nicht in diese Klasse stecken. Man könnte der eine `__str__()`-Methode verpassen und Konto-Exemplare dann einfach mit `print()` ausgeben.
Zwischen den Methoden steht normalerweise eine Leerzeile und der Code auf Modulebene sollte in einer Funktion stehen.
Re: Projekte vorschlagen..
Verfasst: Mittwoch 1. April 2015, 01:15
von Woddy
BlackJack hat geschrieben:@Woddy: Das `self.ausgabe` in der Ein- und Auszahlmethode gehört da nicht hin und die 1 bei `kunde1` sollte da nicht stehen.
Die `ausgabe()`-Methode würde ich auch nicht in diese Klasse stecken. Man könnte der eine `__str__()`-Methode verpassen und Konto-Exemplare dann einfach mit `print()` ausgeben.
Zwischen den Methoden steht normalerweise eine Leerzeile und der Code auf Modulebene sollte in einer Funktion stehen.
Danke für den Hinweis!
Re: Projekte vorschlagen..
Verfasst: Mittwoch 1. April 2015, 07:15
von Sirius3
@Woddy: Der Backslash in ausgabe ist überflüssig, weil die Klammern schon die zwei Zeilen miteinander verbinden. Und die Methode in den anderen Methoden einfach nur zu referenzieren bringt nichts. Die Zeilen gehören da sowieso nicht hin.
Re: Projekte vorschlagen..
Verfasst: Mittwoch 1. April 2015, 12:03
von kbr
@Woddy: ich würde eher die folgende Struktur empfehlen:
Code: Alles auswählen
class Kunde: pass
class Konto: pass
def einzahlen(kunde, konto, betrag): pass
Das ist flexibler, da nun ein beliebiger Kunde auf ein beliebiges Konto einzahlen darf. So hast Du auch eine bessere Trennung zwischen den Daten (Kunde, Konto) und den Aktionen gegen diese Daten.