出于好奇,方法在内存中还存在多个具有相同代码的区域吗?
我觉得功能仅仅是一个,并且在内存中只有一个区域。
但是,面向对象编程中有概念类和实例
和实例的功能是我所知道的方法。
函数只是一个,而方法不是(很多实例..那么就会有很多方法..)
我认为对于方法来说,它们只是内存中的一个代码区域,对于属性而言,它们只是内存中的多个区域。但是他们使用诸如堆栈框架之类的特殊功能,然后可以进行诸如引用实例对象之类的操作。
在C ++,java,python,javascript上正确吗?
答案 0 :(得分:0)
每种方法只有一个实现;单个副本。
在运行时,对对象实例的引用将隐式地(在Java语言中)或显式地(例如Python中的self
参数)传递给方法。
在动态语言中,可用于对象的方法是类或对象的属性,因此可能使同一个类的不同对象具有相同的方法名称的不同实现。