.h头文件
.m文件 实现文件,类似于C++中的.cpp文件
函数:
-(void) HelloWorld:(BOOL)ishellworld{
//执行内容
}
前面带有减号(-)的方法为实例方法,必须使用类的实例才可以调用,对应的有+号,代表类的静态方法,不需要实例化即可调用。
self:指向自己的指针,类似于this
nil相当于null。
Objective-C的内存需要自己管理,添加了ARC机制后编译器帮助了Objective-C添加release释放代码,Java是通过垃圾回收机制管理的
类的声明:
@interface Person:NSObject{}
@interface:相当于Class 类名后面的冒号相当于Java中的extends 和kotlin用法一样
创建对象:
Person *p = [Person new];
Person *p = [Person alloc] init];
两种方式都可以,new方法的内部也会分开调用alloc方法来分配内存空间(返回分配的对象),使用init方法来对对象进行初始化 。两者的区别:1.采用new方式只能采用默认的init方法完成初始化;
2.采用alloc的方法可以用自定义的构造方法完成初始化;
默认初始化完毕,所有成员变量的值都为0,用完对象需要释放内存
[lisi release];
调用对象的属性:
//对象->属性名
lisi -> age;
//(*对象名).对象属性
(*lisi).name;
调用方法:
//[对象名 方法名]
[Person eat]
//[对象名 方法名:参数]
[Person eat:@"吃虾"]
[Person run:5]
在头文件中声明属性:
@property和@synthesize 编译器会自动补出其get和set方法
//在头文件中声明属性 .h
@property int age;
//在m文件中实现
@synthesize age;