Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 面向对象编程中的对象_Objective C_Oop_Class_Object_Methods - Fatal编程技术网

Objective c 面向对象编程中的对象

Objective c 面向对象编程中的对象,objective-c,oop,class,object,methods,Objective C,Oop,Class,Object,Methods,这里的新手程序员以前用过C语言编程,我现在开始学习面向对象编程,因为我想在将来为iOS编程。我已经阅读了苹果的文档,其中大部分内容都非常清晰,只是我在理解对象方面有困难,而对象显然应该是基础知识。苹果的文档内容如下: “一个类的所有成员都能够执行相同的方法,并具有匹配的实例变量集。具有等效数据结构但不同方法的两个对象不属于同一个类。” 所以我的问题是,如果所有对象都有共享的方法,所有对象都有匹配的实例变量集,那么同一个类中的对象之间到底有什么区别??我认为对象只是由实例变量和方法组成的 感谢所有

这里的新手程序员以前用过C语言编程,我现在开始学习面向对象编程,因为我想在将来为iOS编程。我已经阅读了苹果的文档,其中大部分内容都非常清晰,只是我在理解对象方面有困难,而对象显然应该是基础知识。苹果的文档内容如下:

“一个类的所有成员都能够执行相同的方法,并具有匹配的实例变量集。具有等效数据结构但不同方法的两个对象不属于同一个类。”

所以我的问题是,如果所有对象都有共享的方法,所有对象都有匹配的实例变量集,那么同一个类中的对象之间到底有什么区别??我认为对象只是由实例变量和方法组成的


感谢所有回答的人,我认为你的误解来自苹果使用的“匹配集”语言。一个类的实例具有与其他每个实例相同的方法以及它自己的实例变量集。因此每个实例都不同于其他实例。

对象确实有自己的IVAR。虽然同一类的对象共享相同的方法(接口)和相同的IVAR集,但它们的IVAR可以有不同的值。对于大多数objective-C对象,代码是共享的,内存不是。同一类的两个对象都有各自的实例变量,但它们将指向同一个类以查找您发送给它们的任何消息的代码。