2

所以这是我的代码,我试图让 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)
4

2 回答 2

4

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

class Rectangle(object):

基本上,继承的语法是这样的:

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

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

作为参考,这里有一个关于类、继承等的深入教程:

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

于 2013-08-29T17:47:15.673 回答
2

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

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

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

但是,听起来您对继承和类实际上什么感到困惑,这意味着您可能应该阅读一般的面向对象编程,特别是继承

于 2013-08-29T17:48:09.713 回答