我的班级坐标有2个属性:Long
,Lat
。
那么如何创建具有一个或多个类Coordinat
对象的类多边形?
class Coordinat:
def __init__(self, id, Lat, Long):
self.id=id
self.Lat=Lat
self.Long=Long
那我该如何创建类多边形?
答案 0 :(得分:0)
如何使用来自另一个类的对象创建一个类
嗯,这已经是你在“Coordinat”类中所做的了:它确实使用了来自另一个类的三个“对象”id
,Lat
和Long
(我假设第一个是int或字符串,第二个和第三个是浮点数。请记住,在Python中,一切都是对象......
在您的情况下,由于通用多边形没有固定数量的角度,您需要tuple
的有序序列(list
或Coordinat
):
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
...