Worksheet: OOP
Worksheet
BankAccount class
class BankAccount(object):
def __init__( self, initialDollars:int, initialCents:int ):
self.__dollars:int = initialDollars
self.__cents:int = initialCents
def getDollars( self ) -> int:
return self.__dollars
def getCents( self ) -> int:
return self.__cents
def getBalance( self ) -> float:
return self.getDollars() + self.getCents()/100.0
def setDollars( self, updatedDollars:int ) -> None:
self.__dollars = updatedDollars
def setCents( self, updatedCents:int ) -> None:
self.__cents = updatedCents
def deposit( self, additionalDollars:int, additionalCents:int ) -> None:
totalCents:int = self.getCents() + additionalCents
if totalCents >= 100:
self.setDollars( self.getDollars() + additionalDollars + 1)
self.setCents( totalCents - 100 )
else:
self.setDollars( self.getDollars() + additionalDollars )
self.setCents( totalCents )
def main():
checkingAccount:BankAccount = BankAccount( 1837, 22 )
print( f"Account has ${checkingAccount.getBalance()}" )
checkingAccount.deposit( 184, 81 );
print( f"After deposit, now ${checkingAccount.getBalance()}" )
if __name__ == "__main__":
main()
Flower class
class Flower(object):
def __init__( self, petals:int ):
self.__numPetals:int = petals
self.__wilted:bool = False
def getNumPetals( self ) -> int:
return self.__numPetals
def isWilted( self ) -> bool:
return self.__wilted
def dropPetal( self ) -> None:
if self.__numPetals > 0:
self.__numPetals -= 1
def wilt( self ) -> None:
self.__wilted = True
def __str__( self ) -> str:
baseRep:str = f"A flower with {self.__numPetals} petals that is "
if self.isWilted():
return baseRep + "wilted :("
else:
return baseRep + "not wilted!"
def main():
Flower( 10 )
buttercup:Flower = Flower( 5 )
iris:Flower = Flower( 3 )
print( buttercup )
print( iris )
for i in range( 4 ):
buttercup.dropPetal()
iris.dropPetal()
print( buttercup )
print( iris )
iris.wilt()
print( iris )
if __name__ == "__main__":
main()