#!/usr/bin/env python
from math import pi
class CircleA(object):
def __init__(self, radius):
self._radius = radius
self._area = pi * radius ** 2
def __getRadius(self):
return self._radius
def __setRadius(self, radius):
self._radius = radius
self._area = pi * radius ** 2
def __getArea(self):
return self._area
def __repr__(self):
return "<Circle r=%0.2f A=%0.2f>" % (self.radius, self.area)
radius = property(__getRadius, __setRadius)
area = property(__getArea)
class CircleB(object):
def __init__(self, radius):
self.radius = radius
self.area = pi * radius ** 2
def setRadius(self, radius):
self.radius = radius
self.area = pi * radius ** 2
def __repr__(self):
return "<Circle r=%0.2f A=%0.2f>" % (self.radius, self.area)
a = CircleA(1.5)
print a
a.radius = 2.0
print a
b = CircleB(1.5)
print b
b.radius = 2.0
print b