Circle:circumference()
  return self:diameter() * 3.14159
end
function Circle:area()
  return self.radius * self.radius * 3.14159
end

Sphere = oo.class({}, Circle)
function Sphere:area()
  return 4 * self.radius * self.radius * 3.14159
end
function Sphere:volume()
  return 4 * 3.14159 * self.radius^3 / 3
end

function show(shape)
  print("Shape Characteristics")
  print("  Side:         ", shape.radius)
  print("  Diameter:     ", shape:diameter())
  print("  Circumference:", shape:circumference())
  print