所有实例都有自己的方法吗?

时间:2018-09-05 11:11:47

标签: function oop object methods programming-languages

出于好奇,方法在内存中还存在多个具有相同代码的区域吗?

我觉得功能仅仅是一个,并且在内存中只有一个区域。

但是,面向对象编程中有概念类和实例

和实例的功能是我所知道的方法。

函数只是一个,而方法不是(很多实例..那么就会有很多方法..)

我认为对于方法来说,它们只是内存中的一个代码区域,对于属性而言,它们只是内存中的多个区域。但是他们使用诸如堆栈框架之类的特殊功能,然后可以进行诸如引用实例对象之类的操作。

在C ++,java,python,javascript上正确吗?

1 个答案:

答案 0 :(得分:0)

每种方法只有一个实现;单个副本。

在运行时,对对象实例的引用将隐式地(在Java语言中)或显式地(例如Python中的self参数)传递给方法。

在动态语言中,可用于对象的方法是类或对象的属性,因此可能使同一个类的不同对象具有相同的方法名称的不同实现。