首页 > 解决方案 > OOPs 概念如何与内存相关?和构造函数?

问题描述

我将使用 python 作为示例。我写下一部分只是为了确认它。我知道类是对象的蓝图的基础知识。但是,如果我们在 python 中打印对象,它们会在该对象的内存中打印一个地址(希望我到现在为止)或该对象在内存中的存储位置。当我们不想打印某个对象的地址时,我们使用str () 方法来表示该对象。

现在主要的问题是构造函数是如何工作的?以及类变量、类和构造函数是如何存储在内存中的,以及它们是如何获取的?

这是一个简单的类示例:

 Class A:
       def __init__(self):                // constructor
              print('In A Constructor')
              print(A())
              print(A.__init__(A))

上面代码的输出是这样的:在构造函数中“构造函数返回的对象值”在构造函数中无

现在前 2 行是非常常见和预期的行为,但问题是接下来的 2 行。构造函数如何使用类名?类名(此处为“A”)指的是什么。这是什么意思?它应该是存储它的类的内存位置。而我们的构造函数将 self 作为参数,这意味着只有类的实例。而且由于我们的 Class 构造函数返回 None 那么这意味着那里没有实例,所以如果我创建一些实例变量会发生什么。

所以我在构造函数中添加了这两行:

 self.var= 10
 print(self.var)

在普通构造函数中,它给出了 10 作为输出,但在另一个构造函数中,它没有给出任何错误,也没有打印 10 作为输出。似乎另一个将其作为类变量。

那么类名是什么意思,它在内存中代表什么?像 Class parent_class:如果我们打印它,'parent_class' 是什么意思?'parent_class()'是什么意思?构造函数从哪里获取它的自我?类变量是否存储在类对象中?就像这里他们将在'parent_class'中。

标签: classoopmemoryconstructor

解决方案


推荐阅读