在oc中,我们要整出一个类来,首先需要一个.h头文件和一个.m实现文件。一般我们创建的类都继承了根类,因为根类帮我们实现了很多实用的方法,而类里面会有变量(属性) 、函数(方法),与其它语言一样,oc中方法同样分为静态方法(类方法)和实例方法," + "表示类方法, " - "表示实例方法。
.h头文件为声明,没有实际的实现内容,具体实现应该在.m实现文件中编写。类方法不能使用实例变量,但可以直接类调用,实例方法则可以直接使用实例变量并赋值却不能直接类调用,须实例化,一般实例化的同时都需要进行初始化。
操作实例变量需要通过set、get方法,set方法的命名必须以set开头+实例变量名(首字母需要大写), 形参使用实例变量名且两者数据类型一致,通常在实例变量前加下划线" _ "进行区分,set方法没有返回值; get方法命名采用实例变量名,无下划线" _ ",无参数,但有返回值,数据类型应与实例变量一致。 当然public的实例变量是可以直接访问的,但应考虑到数据安全。
注:写了set、get方法之后,在调用时,可以使用中括号形式调用,也可以用点调用。另外也可利用@property属性和@synthesize简化实例变量的存取器方法。
常用的对象初始化方法也有以下两种:
一:因为继承了根类,所以子类不需要在.h文件中再声明,可直接在.m文件中重写父类初始化init方法。
二:直接在.h中声明方法initWithName并带形参,再在.m文件中实现,最后在创建对象的时候再赋值。这样可以衍生出拥有不同参数的初始化方法,这样以后需要用哪个初始化方法就可以随意用。
创建对象初始化:
这里test.rStr调用的是返回姓名的方法。