http://leopard168.blog.163.com/blog/static/16847184420138153296930/

http://blog.csdn.net/thdxs/article/details/10988343

1、类方法是属于整个类,而不属于某个对象。
2、类方法只能访问类成员变量,不能访问实例变量,而实例方法可以访问类成员变量和实例变量。
3、类方法的调用可以通过类名.类方法和对象.类方法,而实例方法只能通过对象.实例方法访问。
4、类方法只能访问类方法,而实例方法可以访问类方法和实例方法。
5、类方法不能被覆盖,实例方法可以被覆盖。

我的理解:在

{

NSString * str ;

int a;

}

实例变量就是,继承与oc 的类 声明的实例化的变量

成员变量就是,基本类型

摘要:  Objective-C  引入了“实例变量"的概念,但同时, 也经常出现 “成员变量”的声音。 到底什么是实例变量,什么是成员变量,二者的区别是什么呢?

在Objective-C中,定义一个类,需要有两部分: 第一是接口(interface),第二是实现(implementation)。 接口对应接口文件,而实现对应了实现文件。 接口文件包含了类的声明,成员变量(member variable)和方法(method)。 接口文件通常是.h

实现文件通常是.m文件。  接口中所声明的方法(method),需要在.m 文件中,通过xcode 来实现这个方法(method)。

今天查看apple 的官方文档时(如下)。https://developer.apple.com/library/mac/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/index.html

发现了一个新的名词: 成员变量(member variable)。 之所以感到新奇,因为之前 都管它叫 实例变量(instance variable)。 记得,初次接触Objective-C时,看到实例变量这一名词,觉得很新奇。 也试图把 实例变量 与 成员变量,做了一番对比,研究其不同之处。 从以下这个张图, 可以断定,我之前所看到的实例变量,本质上说,就是成员变量。 对于iOS 初学者来说, 一个新奇的名词,很容易让人产生太多的想法。

如果你之前接触过C++, 对成员变量(member varialbe) ,肯定不陌生。  今天,你又看到了这个熟悉的叫法, 定会感到 Objective-C  没想象中的那么难。

行文至此,耳边又响起了那个广告语 : 还是原来的配方,还是熟悉的味道。 呵:)

  图中的 ”Member Variable declarations“ ,字面的意思: ”成员变量声明“。  貌似  {   } 中所声明的变量都为成员变量。 既然如此,实例变量又是什么意思呢?
既然OC的表达方式是英文, 不妨从英文中查知原本的含义。

类:     Class (description/template for an object)
实例: Instance (manifestation of a class)
消息: Message (sent to object to make it act)
方法: Method (code invoked by a Message)
实例变量: Instance Variable (object-specific storage)
超类/子类: Superclass/Subclass (Inheritance)
协议:  Protocol (non-class-specific methods)

从给出的英文说明,可以看出: 实例(Instance) 是针对 类(class)而言的。  实例是指类的声明; 由此推理, 实例变量(Instance Variable) 是指 由类声明的对象。 
严格说来, 上图中的  int  count;  是一个成员变量。  而 NSString * name;  是一个实例变量。 至于 id data 应该属于成员变量还是实例变量呢?  因为 id 是 OC特有的类型。从本质上讲, id 等同于 (void *)。 

所以 id data 应属于 实例变量。

Objective-C 基本语法:实例变量与成员变量的区别.l........实例方法和类方法区别的更多相关文章

  1. EL语法 ${person.id} 这里面的id指的是实例对象的成员变量

    EL语法 ${person.id} 这里面的id指的是实例对象的成员变量

  2. OC基础:实例变量和成员变量的区别 分类: ios学习 OC 2015-06-14 17:59 16人阅读 评论(0) 收藏

    摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢 ...

  3. Java:【面向对象:类的定义,静态变量,成员变量,构造函数,封装与私有,this】

    本文内容: 什么是面对对象 类的定义与对象实例化 成员变量 成员变量的有效范围 成员变量的赋值 静态变量.方法与实例变量.方法 构造函数 封装与私有 this关键字 注:函数和方法是一样东西.[由于我 ...

  4. python中类变量和成员变量、局部变量总结

    class Member(): num= #类变量,可以直接用类调用,或用实例对象调用 def __init__(self,x,y): self.x=x #实例变量(成员变量),需要它是在类的构造函数 ...

  5. 静态变量和成员变量的区别、final修饰特点、创建对象的内存图、静态内存图

    静态变量和成员变量的区别* 静态变量也叫类变量  成员变量也叫对象变量* A:所属不同 * 静态变量属于类,所以也称为为类变量 * 成员变量属于对象,所以也称为实例变量(对象变量)* B:内存中位置不 ...

  6. Java的初始化执行顺序(父类static变量->子类static变量->父类成员变量->父类构造器->成员变量->构造器->main函数)

    1. 引言 了解Java初始化的顺序,有助于理解Java的初始化机制和内存机制. 顺序:父类static变量->子类static变量->父类成员变量->父类构造器->成员变量- ...

  7. Java中Static关键字详解以及静态变量和成员变量的区别

    一.static关键字的特点 (1)修饰成员变量.成员方法(2)随着类的加载而加载(3)优先于对象存在(4)被所有对象共享(5)可以通过类名调用 它本身也可以通过对象名调用 例如:main()方法由j ...

  8. Python-类变量,成员变量,静态变量,类方法,静态方法,实例方法,普通函数

    #coding:utf-8class class_name(object): class_var = 'I am a class variable' #类变量 def __init__(self): ...

  9. Java基础-常量,变量,成员变量,局部变量

    在java中,数据是以常量和变量两种方法形式进行存储和表示的(实际上,所有程序的数据都是这两种形式). 变量 变量代表程序的状态.程序通过改变变量的值来改变整个程序的状态,或者说得更大一些,也就是实现 ...

随机推荐

  1. tk资料

    Hello World: 让我们开始,作为其他教程的开始, 以"Hello World"程序创建一个文件 叫做Hello.pl  键入下面的内容到它这里: #!/usr/local ...

  2. iOS 删除相册中照片--来自简书

    来自:http://www.jianshu.com/p/ac18aa3f28c2 最近公司的app有一个新功能是在app中删除相册的照片 ,本来是一个比较简单地功能,在做的过程中却发现AssetsLi ...

  3. The Java™ Tutorials下载地址

    1.The Java™ Tutorials下载地址: http://www.oracle.com/technetwork/java/javase/java-tutorial-downloads-200 ...

  4. 分享几种Linux软件的安装方法

    Linux软件安装由于不同的Linux分支,安装方法也互不相同,介绍几种常见的安装方法. 1. 源码安装,     对于本身具有开源血统的Linux系统来说,几乎所有的开源软件都支持在Linux平台运 ...

  5. Unity 图片分割将spirte保存在本地

    如果你拿到的是一张整图,你想分割之后使用NGUI sprite来使用!  下面就能解决的需求. 步骤: 1. 使用Unity自带的spirte进行分割图片 2. 使用代码把分割出来的2DSpirte转 ...

  6. java基础之集合List-ArrayList、LinkedList、Vector的差别

    PS:本篇博客主要參考jdk的底层源代码.而非自己动手写代码. 请问ArrayList.LinkedList.Vector的差别 ①ArrayList底层实际上是採用数组实现的(而且该数组的类型的Ob ...

  7. 四、Mp3文件类型及其判断

    根据前两篇文章的分析,帧分为标签帧和数据帧,MP3文件类型是根据数据帧的类型来分的,文件类型如下表: 位率相等(Constant BitRate) CBR  Mp3文件 位率不等(Variable B ...

  8. .NET中的CSV导入导出(实例)

    导入代码,从csv文件得到datatable         /// <summary>        /// Get Data From Csv File         /// (Th ...

  9. android一些常用的代码1(收藏)

    以下内容来自多个开源项目的整理和自己的项目积累. 1.拨打电话 public static void call(Context context, String phoneNumber) { conte ...

  10. 出发 Let's Go

    今天是中秋佳节,而恰好我这天过生日,晚上睡觉前又恰好听到温岚唱的祝我生日快乐,心里挺高兴的. 最近,由于公司需要,可能要学习Python和Tribon了,全是未知的,一点不了解的东西,也忽然想起了在这 ...