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

2024-10-17 08:26:06 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的代码,我试图从object类继承Rectangle类。我不明白object类是什么意思,以及如何继承它。你知道吗

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)

Tags: posselfmoveobjectdefcoordsprintstr
2条回答

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

class Rectangle(object):

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

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

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

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

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

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

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

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

然而,听起来您对继承和类实际上是什么感到困惑,这意味着您可能应该通读object-oriented programming,特别是inheritance。你知道吗

相关问题 更多 >