Skip to content

Instantly share code, notes, and snippets.

@Naomi-Dennis
Last active November 15, 2019 19:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Naomi-Dennis/1ae5634dd19ac1f07ada5b5a5ecb83e4 to your computer and use it in GitHub Desktop.
Save Naomi-Dennis/1ae5634dd19ac1f07ada5b5a5ecb83e4 to your computer and use it in GitHub Desktop.
class WallPoweredDevice:
def plugInPower(self, device):
self.__connectToDeviceViaPowerOutlet(device)
def __connectToDeviceViaPowerOutlet(self, device): None
class AnalogDevice:
def _connectToDeviceViaRCACord(self, device): None
class DigitalDevice:
def _connectToDeviceViaHDMICord(self, device): None
class InternetDevice:
def _connectToDeviceViaEthernetCord(self, device): None
class Television(WallPoweredDevice, InternetDevice, AnalogDevice):
def connectToDVD(self, dvdPlayer):
self._connectToDeviceViaRCACord(dvdPlayer)
def connectToGameConsole(self, gameConsole):
self._connectToDeviceViaHDMICord(gameConsole)
def connectToRouter(self):
self._connectToDeviceViaEthernetCord(self)
class DvdPlayer(WallPoweredDevice, AnalogDevice):
def connectToTV(self, television):
self._connectToDeviceViaRCACord(television)
class GameConsole(WallPoweredDevice, InternetDevice, DigitalDevice):
def conenctToTV(self, television):
self._connectToDeviceViaHDMICord(television)
def connectToRouter(self):
self._connectToDeviceViaEthernetCord(self)
class Router(WallPoweredDevice):
def connectToTV(self, television):
self._connectToDeviceViaEthernetCord(television)
def connectToGameConsole(self, gameConsole):
self._connectToDeviceViaEthernetCord(gameConsole)
def plugInPower(self):
self._connectDeviceToPowerOutlet(self)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment