1. 对象,类,实例和方法的理解
1. 对象就是一个事物,同时对象也是类的独特表示,这也就意味着类就是一类事物,拿生活中的例子来说,汽车就是一类事物,这里用中学学英语语法时的思维会好理解一些,汽车——car,未加任何冠词,这就是泛指一类事物。但假如对其加定冠词the,the car,这就是特指一个事物,也就可以引出实例的概念。
2. 类的独特存在就是一个实例,对实例执行的操作名为方法。在某些情况下,方法可以应用于类的实例或者类本身。例如,可将洗车作为一个实例。如果把“找出一家4S店中有多少辆汽车”应用于这个类,那么它将是一个类方法。
3. 每个对象都包含一些通常对该对象来说是私有的信息(数据)。方法提供访问和改变这些数据的手段。
4. OC采用特定的语法对类和实例应用方法:[ ClassOrInstance method ];
这条语句中,左方括号后紧跟着类的名称或者该类的实例的名称,空格后面是将要执行的方法。最后,使用右括号和结束分号来中止。
2. OC程序在逻辑上分为三部分
1. @interface部分:用于描述类,类的数据的数据成分以及类的方法。
@interfance NewClassName: ParentClassName { memberDeclarations; } methodDeclarations; @end
2. @implementation部分:包括实现这些方法的实际代码。
@implementation NweClassName methodDeclarations; @end
3. program部分:包含实现程序预期目的的程序代码。
3. #import与#include
1. 两者都在预处理阶段把头文件的内容插入到当前的源文件中;
2. #include多次导入同一文件,会导致重复包含,而#import会自动判断此前文件是否被导入过,若导入则不做导入操作,确保只导入一次。
4. 类方法和对象方法
一、类方法
1. 以加号 + 开头。
2. 当当前方法中不涉及类的成员变量时,可以把方法声明成类方法。这样做的好处是可以不用声明类的实例对象,减少内存空间的占用,提高运行效率。即类的方法不依赖于对象。
3. 只能由类(名)来调用。
4. 类方法中不能访问类的成员变量。如果访问,会报 error:instance variable 'age' accessed in class method。
5. 在类方法中调用自身,会导致程序陷入死循环。
二、对象方法
1. 以减号 - 开头。
2. 当当前方法中需要访问类的成员变量时,可以把方法声明为对象方法。
3. 只能由对象来调用。
4. 对象方法中能访问当前对象的成员变量(实例变量)。
5. 命名规范
驼峰标识法:首字母小写,后续单词首字母大写,尽量写完全不要用缩写形式 。
严禁使用汉语拼音作为标识符。
实例变量的命名规则:以下划线开头。