定义类:如何从对象类继承

时间:2013-08-29 17:45:20

标签: python python-2.7

所以这是我的代码,我试图让Rectangle类继承对象类。我不明白对象类是什么意思,以及如何继承它。

class Rectangle:

def __init__(self, coords, sizex, sizey):
    self._startx, self._starty = coords
    self._sizex = sizex
    self._sizey = sizey

def getBottomright(self):
    '(%s, %s)' % (self._startx + self._sizex, self._starty + self._sizey)

def move(self, pos):
    self._startx, self._starty = pos

def resize(self, width, height):
    self._sizex = width
    self._sizey = height

def __str__(self):
    return '((%s, %s), (%s, %s))' % (self._startx, self._starty, self._startx + self._sizex, self._starty + self._sizey)


r = Rectangle((2, 3), 5, 6)
print str(r)
'((2, 3), (7, 9))'
r.move((5, 5))
print str(r)
'((5, 5), (10, 11))'
r.resize(1,1)
print str(r)
'((5, 5), (6, 6))'
r.getBottomright()
(6, 6)

2 个答案:

答案 0 :(得分:4)

要从object继承,只需将其放在类名后面的括号中:

class Rectangle(object):

基本上,继承的语法如下:

class ClassName(object1, object2, ...):

在上面的代码中,ClassName继承自object1object2以及您放置的任何其他类(请注意,如果括号中有多个类,则为被称为“多重继承”)。

供参考,这是一个关于类,继承等的深入教程:

http://docs.python.org/2/tutorial/classes.html

答案 1 :(得分:2)

要从object(或任何其他类)继承,只需将类继承在您定义它的类名后的括号中。

class Rectangle(object):
    pass #class stuff goes here.

至于你的另一个问题,object类是Python中最基本的类。一般来说,所有类都应该直接从object继承,除非它们继承自其他类。

然而,听起来你对实际上 的继承和类感到困惑,这意味着你可能应该在object-oriented programming上阅读inheritance。{{3}特别是。