import math
class Point:
def __init__( self, xValue = 0, yValue = 0 ):
self.x = xValue
self.y = yValue
class Circle( Point ):
def __init__( self, x = 0, y = 0, radiusValue = 0.0 ):
Point.__init__( self, x, y ) # call base-class constructor
self.radius = float( radiusValue )
def area( self ):
return math.pi * self.radius ** 2
def __str__( self ):
return "Center = %s Radius = %f" % ( Point.__str__( self ), self.radius )
class Cylinder( Circle ):
def __init__( self, x, y, radius, height ):
Circle.__init__( self, x, y, radius )
self.height = float( height )
def area( self ):
return 2 * Circle.area( self ) + 2 * math.pi * self.radius * self.height
def volume( self ):
return Circle.area( self ) * height
def __str__( self ):
return "%s; Height = %f" % ( Circle.__str__( self ), self.height )
cylinder = Cylinder( 12, 23, 2.5, 5.7 )
print "X coordinate is:", cylinder.x
print "Y coordinate is:", cylinder.y
print "Radius is:", cylinder.radius
print "Height is:", cylinder.height
cylinder.height = 10
cylinder.radius = 4.25
cylinder.x, cylinder.y = 2, 2
print "\nThe new points, radius and height of cylinder are:", cylinder
print "\nThe area of cylinder is: %.2f" % cylinder.area()
print "\ncylinder printed as a Point is:", Point.__str__( cylinder )
print "\ncylinder printed as a Circle is:", Circle.__str__( cylinder )