Skip to content

Instantly share code, notes, and snippets.

@brydavis
Created June 2, 2019 06:35
Show Gist options
  • Save brydavis/ed2f170d8e8e55e5a93268631bf16088 to your computer and use it in GitHub Desktop.
Save brydavis/ed2f170d8e8e55e5a93268631bf16088 to your computer and use it in GitHub Desktop.
import json
class Device:
def __init__(self):
self.battery = 100
self.power_status = True
def power_switch(self):
# if currently powered on
if self.power_status:
self.power_status = False
else:
self.power_status = True
class Camera(Device):
def __init__(self, lens):
self.lens = lens
def take_picture(self):
return "Click"
class Phone(Device):
def __init__(self, speaker):
self.speaker = speaker
def call(self):
return "Ring Ring"
def answer(self):
return "Hello?"
def text(self, to, msg):
return json.dumps({to:to, msg:msg})
# class CameraPhone(Camera, Phone):
# def __init__(self, lens, speaker):
# # Camera.__init__(self, lens)
# # Phone.__init__(self, speaker)
# self.lens = lens
# self.speaker = speaker
class CameraPhone(Camera, Phone):
def __init__(self, lens, speaker):
Camera.__init__(self, lens)
Phone.__init__(self, speaker)
# self.lens = lens
# self.speaker = speaker
def send_pic(self, to):
img = self.take_picture()
self.text(self, to, img)
cp = CameraPhone(100, "whaaaa?")
# cp.lens = 10
# cp.speaker = "Hell yeah"
print("Our new CameraPhone exhibits multiple behaviors ...")
print("It can take a picture: ", cp.take_picture())
print("It can also make calls: ", cp.call())
print(cp.lens)
print(cp.speaker)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment