Hallo,
ich bin noch ein absoluter newb in Sachen Python und ich stoße hier im forum und auch sonst in allen tutorien immer wieder auf Klassen und Instanzen.
tja wie soll ich es sagen? Ich hab keinen Schimmer was das ist!
Aber scheinbar braucht man das ja um in der Sprache voran zu kommen!
Es wäre echt lieb, wenn mir das hier mal irgendjemand grob erklären könnte (for dummies) und zwar so, dass es auch ein Kind kapieren könnte.
Wozu braucht man Klassen?
Was sind Klassen?
Wie schreibt man sowas bzw wie ist sowas aufgebaut?
Gibt es etwas in Delphi oder PHP was man damit vergleichen könnte?
Ein besipiel oder so wäre auch echt super damit man es mal nachvollziehen kann .
Thx
mfg olé
Klassen? Instanzen? Hä?
-
- Python-Forum Veteran
- Beiträge: 2010
- Registriert: Freitag 11. Oktober 2002, 18:00
- Wohnort: Salzburg
- Kontaktdaten:
Hi olé,
Klassen und Instanzen werden bei OOP (Objektorientierte Programmierung) benutzt. Klassen sind die Beschreibungen von Objekten und Instanzen sind dann die Objekte die mit Hilfe der Klassen erzeugt werden.
Unter http://home.foni.net/~heikos/python/node37.html findest Du eine recht gute Beschreibung, schau Dir auch das Kapitel zu OOP an. Für weitere Fragen einfach hier Posten.
Gruß
Dookie
Klassen und Instanzen werden bei OOP (Objektorientierte Programmierung) benutzt. Klassen sind die Beschreibungen von Objekten und Instanzen sind dann die Objekte die mit Hilfe der Klassen erzeugt werden.
Unter http://home.foni.net/~heikos/python/node37.html findest Du eine recht gute Beschreibung, schau Dir auch das Kapitel zu OOP an. Für weitere Fragen einfach hier Posten.
Gruß
Dookie
-
- User
- Beiträge: 53
- Registriert: Dienstag 6. April 2004, 10:33
Ein Objekt ist ein Ding, eine Sache, z.B. ein Auto. Objekte haben Eigenschaften in der Programmierung Attribute genannt. (Beim Auto: Farbe, Höchstgeschwindigkeit, Rahmennummer).
Außerdem können Objekte bestimmte Dinge tun. Das auto kann fahren, bremsen, abbiegen, etc).
Da alle Autos fahren, bremsen und abbiegen können, kann man das so festhalten:
Nun haben wir die Klasse "Auto" beschrieben. Was man nun in Python machen muss, um ein Auto zu erstellen ist folgendes:
wenn du das im Python Prompft machst, gib mal folgendes danach ein:
MeinAuto.fahren()
MeinAuto.abbiegen()
(Man ruft Methoden eines Objektes so auf: [Objekt].[Methode]
der erste Parameter von Methode ist dann [Objekt].
in Delphi gibt es auch klassen, auch in php (auch Schlüsselwort class)
Außerdem können Objekte bestimmte Dinge tun. Das auto kann fahren, bremsen, abbiegen, etc).
Da alle Autos fahren, bremsen und abbiegen können, kann man das so festhalten:
Code: Alles auswählen
class Auto:
def __init__(self,farbe,hoechstgeschwindigkeit):
self.farbe = farbe
self.hoechstgeschwindigkeit = hoechstgeschwindigkeit
def fahren(self):
print "Das Auto fährt, aber nicht schneller als %i" % self.hoechstgeschwindigkeit
def bremsen(self):
print "Auto bremst"
def abbiegen(self,richtung):
self.bremsen()
print "Auto biegt nach %s ab" % richtung
Code: Alles auswählen
MeinAuto = Auto("rot",160)
MeinAuto.fahren()
MeinAuto.abbiegen()
(Man ruft Methoden eines Objektes so auf: [Objekt].[Methode]
der erste Parameter von Methode ist dann [Objekt].
in Delphi gibt es auch klassen, auch in php (auch Schlüsselwort class)
Zuletzt geändert von RainBowBender am Montag 12. Juli 2004, 20:51, insgesamt 2-mal geändert.
-
- User
- Beiträge: 53
- Registriert: Dienstag 6. April 2004, 10:33
das self.abbiegen() sollte self.bremsen() heißen *G*Milan hat geschrieben:Hi. Beim MeinAuto.abbiegen wird es eine Endlosrekursion geben, bis der Stack überläuft, davon abgesehen, dass es einen Fehler wegen fehlender Richtung gibt... Ansonsten super beschrieben
.
was meinst du mit Fehler wegen fehlender Richtung?
Bei mir kommt keiner:
Code: Alles auswählen
>>> a = Auto("blau",120)
>>> a.fahren()
Das Auto fährt, aber nicht schneller als 120
>>> a.abbiegen("rechts")
Auto bremst
Auto biegt nach rechts ab
>>>
-
- Python-Forum Veteran
- Beiträge: 1209
- Registriert: Montag 29. September 2003, 17:18
- Wohnort: Purkersdorf (bei Wien [Austria])
Hi!
Beim zweiten Beispiel weiß das Auto was es machen soll 
mawe
Naja, Du hast bei Deinem ursprünglichen Beispiel vergessen, eine Richtung anzugeben.RainBowBender hat geschrieben: was meinst du mit Fehler wegen fehlender Richtung?
Code: Alles auswählen
MeinAuto.fahren()
MeinAuto.abbiegen()

mawe
hey cool danke!
dank deines Auto-Beispieles hab ich jetzt wenigstens eine ungefähre vorstellung was ne Klasse ist und ie man die Anwendet.
Das ganze ist ja praktischer las man auf den ersten blick denkt!
cool!
nochmal danke für die Antwort
mfg
dank deines Auto-Beispieles hab ich jetzt wenigstens eine ungefähre vorstellung was ne Klasse ist und ie man die Anwendet.
Das ganze ist ja praktischer las man auf den ersten blick denkt!
cool!
nochmal danke für die Antwort

mfg
-
- User
- Beiträge: 53
- Registriert: Dienstag 6. April 2004, 10:33
achso, sorrymawe hat geschrieben:Hi!
Naja, Du hast bei Deinem ursprünglichen Beispiel vergessen, eine Richtung anzugeben.RainBowBender hat geschrieben: was meinst du mit Fehler wegen fehlender Richtung?Beim zweiten Beispiel weiß das Auto was es machen sollCode: Alles auswählen
MeinAuto.fahren() MeinAuto.abbiegen()
mawe