Worksheet: OOP

Worksheet

CS 151 Worksheet - Tracing OOP Programs

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()