
Und der Unterschied beim "nur" recherchieren ist, dass das keine grosse Aussagekraft hat. Ich habe auch Implementierungen vorgeschlagen!
Code: Alles auswählen
#!/usr/bin/env python
#-*- coding: iso-8859-1 -*-
class Lamp:
def __init__(self):
self.itsStatus = "off"
def showStatus(self):
print "The lamp is " + self.itsStatus + " now."
def switchOn(self):
print "Click."
self.itsStatus = "on"
def switchOff(self):
print "Click."
self.itsStatus = "off"
myLamp = Lamp()
myLamp.showStatus()
myLamp.switchOn()
myLamp.showStatus()
myLamp.switchOff()
myLamp.showStatus()
Code: Alles auswählen
In [28]: class Lamp(object):
def __init__(self, on=True):
self.on = on
def __str__(self):
return 'Lamp is %s' % ('on' if self.on else 'off')
def switch(self):
self.on = not self.on
....:
....:
In [35]: lamp = Lamp()
In [36]: print lamp
Lamp is on
In [37]: lamp.switch()
In [38]: print lamp
Lamp is off
Mit der aktuellen stable version 2.2 funktioniert das problemlos. Dazu gibt es das Tool jythonc: Die richtigen Parameter angeben und fertig ist alles in einem jar-Archiv.abgdf hat geschrieben:bei Jython bin ich nicht sicher, ob man damit direkt Java-Bytecode erzeugen kann. Soll wohl gehen, ich hab's aber nicht geschafft
Wobei genau dieses Beispiel irgend wie häßlich ist und nun genau mal nicht zeigt, worin Pythons Stärken liegen:abgdf hat geschrieben: Aus dem (hier allerdings gelegentlich auch kritisierten) Buch "Python GE-PACKT" nehme ich zum Ausprobieren anderer Sprachen immer dieses primitive Beispiel einer Lampe, das in Python z.B. so ausehen kann:
Damit soll gezeigt werden, daß man in der objektorientierten Programmierung versucht, Gegenstände aus dem wirklichen Leben abzubilden. Ich glaube, das weißt Du aber.Hyperion hat geschrieben:Wieso sollte man aus einem Boolschen Problem eine Klasse gießen?
Naja, stimmt aber nicht so ganz! bei b.) kann man die Zustände ja auch direkt setzen! Also ist es ein Hybrid aus Kipp- und Schrittschalterwuf hat geschrieben:..... Es muss in praktischer Hinsicht noch erwähnt werden, dass wir es hier mit zwei verschiedenen Schaltertypen zu tun haben.
a) abgdf-Schalter (Kippschalter)
b) derdon-Schalter (Schrittschalter)