在OOP中,对象和实例之间有什么区别?

时间:2017-11-10 04:27:47

标签: python class oop object methods

我之前已经问过这个问题了,但是当我说尝试理解这个概念而不能因此而继续前进时,请相信我。我真的很感激有人帮忙,所以如果我对某些事情不清楚,请告诉我。

我一直在努力继续并开始使用Python进行编码,因为我相信我在使用流控制和尝试操作数据类型时理解语言的结构,但是,我似乎仍然没有掌握OOP。

我一直在做很多研究,试图了解对象和实例之间的区别是什么以及如何在这两个术语的程序中调用它们。据我所知,它们是完全相同的,然而,当人们开始使用真正高级的术语来描述这个概念时,我真的很困惑。我知道实例化一个Object是一个类的实例,但我不明白的是彼此的优先级。

例如:

class MyClass:
    #Attributes?
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def happy_birthday(self): 
        return 'You are {}, happy birthday {}.format(self.age, self.name)'
#someone said that the object is the instance, however, I do not understand that part.

#Instantiating an object?
boy1 = MyClass()

#Is this also an object or an instance if I call the function?
boy1.happy_birthday()

我一直在寻找标记代码中哪些部分的例子。

1 个答案:

答案 0 :(得分:-4)

在讨论一般类的实例时会使用术语对象。 例如,有人可能会告诉您"确保在代码中处理Car类对象的异常。"当他们想要你检查变量是否是用Car类构造函数创建的东西时。

在谈论对象的特定示例时使用术语实例。例如,您可以使用变量名称" toyota"来引用Car对象。作为Car类实例,它可能具有一组唯一的字段值。

但是我也觉得一般来说,人们在区分对象和实例这两个术语时并不那么挑剔,所以我觉得没有必要对此过分强调。