类和对象
.h文件
.h文件中负责类的声明,“@”是oc的标志,interface是接口,.h文件是接口文件,.m文件是实现文件
@interface代表一个类的开始 @interface类名:继承类 “:”代表类的继承关系,前面的类继承后面的类,子类:父类
所有的oc代码都要写在@interface之后@end之前
定义类的特征,定义成员变量的可见度@public公开的,特征的一个列表oc叫做成员列表,成员变量的命名规则:首字母小写。类名的命名规则:首字母大写后面的单词使用驼峰法命名
方法列表
类的行为列表,注意写在大括号之外
无返回值 无参数的方法
写法:- (返回值类型)方法名
- (void)sayHi
@end代表类声明结束
.m文件
.m文件中负责类的实现
implementation实现的意思
实现的所有代码写在@implementation和@end之间,这个方法是系统的方法,由系统声明,外面只需要实现就可以
oc里面字符串的赋值方式 例如:name = @"dantou"; 用这种方式赋值
self代表自己,代表当前类的一个对象
只要是.h中声明的方法在.m中必须实现
成员变量,在类的内部是公开的,全局的
对象的使用
1.分配内存空间 oc里面方法的调用:[执行方法的调用 执行的方法]
alloc方法,开辟内存空间,将内存里面的所有值都归0,即将所有的成员变量都默认值都置0或者null
用一个person类型的指针指向分配的内存空间的首地址
2.对 对象 初始化
给一个默认值
person *p = [person alloc]
p是指针当做对象用
p = [p init];给对象赋初值
通常创建对象的两部连写
person *per = [[person alloc] init];
alloc是一个加号方法,也叫类方法,只能由类去调用
init 是一个减号方法,叫实例方法,只能由对象调用
这两个方法的返回值都是id类型的,这是一个通用的对象类型,可以指向任何对象
利用对象,调用对象自己的方法
例如:[per sayHi]
[per sleep];
这两个都是对象调用自己的方法
当成员变量被@public可见度修饰的时候,可以被对象-> 来访问,来对成员变量进行操作,读取或赋值