python - Implement classes Square and Triangle as subclasses of class Polygon -


it overload constructor method init takes 1 argument(side length) , override method area computes area. came program, keeps saying "undefined name polygon".

class square(polygon):     'square class'      def __init__(self, s):         'constructor initializes side length of square'         polygon.__init__(self, 4, s)      def area(self):         'returns square area'         return self.s**2  math import sqrt class triangle(polygon):     def __init__(self, s):         'constructor initializes side length of equilateral triangle'         polygon.__init__(self, 3, s)      def area(self):         'returns triangle area'         return sqrt(3)*self.s**2/4 

if want inherit polygon, have define before define other classes inherit it.

class polygon:     def __init__(self):         pass     def area(self):         raise notimplemented  class square(polygon):     'square class'      def __init__(self, s):         'constructor initializes side length of square'         polygon.__init__(self, 4, s)      def area(self):         'returns square area'         return self.s**2  math import sqrt class triangle(polygon):     def __init__(self, s):         'constructor initializes side length of equilateral triangle'         polygon.__init__(self, 3, s)      def area(self):         'returns triangle area'         return sqrt(3)*self.s**2/4 

Comments

Popular posts from this blog

javascript - Slick Slider width recalculation -

jsf - PrimeFaces Datatable - What is f:facet actually doing? -

angular2 services - Angular 2 RC 4 Http post not firing -