如何使用另一个类中的对象创建类

时间:2015-12-16 09:23:22

标签: python python-2.7 python-3.x

我的班级坐标有2个属性:LongLat

那么如何创建具有一个或多个类Coordinat对象的类多边形?

class Coordinat:
    def __init__(self, id, Lat, Long):
        self.id=id
        self.Lat=Lat
        self.Long=Long

那我该如何创建类多边形?

2 个答案:

答案 0 :(得分:0)

  

如何使用来自另一个类的对象创建一个类

嗯,这已经是你在“Coordinat”类中所做的了:它确实使用了来自另一个类的三个“对象”idLatLong(我假设第一个是int或字符串,第二个和第三个是浮点数。请记住,在Python中,一切都是对象......

在您的情况下,由于通用多边形没有固定数量的角度,您需要tuple的有序序列(listCoordinat):

class Polygon(object):
     def __init__(self, **coords):
         self.coords = coords

triangle = Polygon(
    Coordinat(1, 42.5, 4.5), 
    Coordinat(2, 85.4, 77.2), 
    Coordinat(3, 99.1, 42.2)
    )

答案 1 :(得分:0)

如评论中所述,您应该使用继承,您可以查看文档here

在你的情况下,你可以这样做:

class Coordinat:
    def __init__(self, id, Lat, Long):
        self.id=id
        self.Lat=Lat
        self.Long=Long

class Polygon(Coordinat):
    def __init__(self, id, Lat, Long, prop1, prop2)
        #Call __init__ method from base class to have id, Lat and Long   initialized
        Coordinat.__init__(id, Lat, Long)
        #Initiailze the other properties
        self.prop1 = prop1
        self.prop2 = prop2
        ...