1.声明类<声明类的名称参数方法>
// 声明一个People类 People.h 文件用于声明
@interface People : NSObject
{ //类变量的声明
@public // 公开的变量可以用 对象->变量 获取 可被继承
@private // 私有的变量 只可以类内访问 不可被继承
@protected // 受保护的变量 只可以类内访问 可被继承
}
-(void)Say; // 对象方法的声明--通过对象调用的方法
+(void)SayStatic; // 类方法的声明--通过类名调用的方法
@end //类声明的结束
2.实现类<实现类的方法>
#import "People.h" // 导入People.h头文件
@implementation People // 实现类People
-(void)Say // 实现Say方法
{
NSLog(@"Hello World !");
}
+(void)SayStatic // 实现SayStatic方法
{
NSLog(@"This is a Static!");
}
@end
3.实例化类
//在main方法中
#import "People.h" // 导入People.h头文件
int main(int argc, const char * argv[])
{
@autoreleasepool
{
// [类名 方法名]
// alloc 为类分配内存空间 init 类的初始化操作
People * myPeople = [[People alloc] init]; // 实例化People 对象
}
return 0;
}
4. 对象方法&类方法
//在main方法中
#import "People.h" // 导入People.h头文件
int main(int argc, const char * argv[])
{
@autoreleasepool
{
// alloc 为类分配内存空间 init 类的初始化操作
People * myPeople = [[People alloc] init]; // 实例化People 对象
[myPeople Say]; // 调用对象方法 [对象 方法名];
[People SayStatic]; // 调用类方法 [类名 方法名];
}
return 0;
}
//output: Hello World !
//output: This is a Static!
5. 对象的初始化方法
声明类:
// 声明一个People类 People.h 文件用于声明
@interface People : NSObject
{
}
-(instancetype)init; // 初始化方法的声明
@end //类声明的结束
实现类:
#import "People.h" // 导入People.h头文件
@implementation People // 实现类People
//重写初始化的init方法
- (instancetype)init
{
self = [super init];
if (self) {
NSLog(@"初始化方法被调用!"); //在初始化的时候输出一句话
}
return self;
}
@end
main方法:
//在main方法中
#import "People.h" // 导入People.h头文件
int main(int argc, const char * argv[])
{
@autoreleasepool
{
People * myPeople = [[People alloc] init]; // 实例化People 对象
}
return 0;
}
//output: 初始化方法被调用!
6. 属性&变量
- 属性可以被 对象 “点” 属性名 调用
- 变量可以被 对象 "->"变量名 调用
<声明变量&使用变量>
// 声明一个People类 People.h 文件用于声明
@interface People : NSObject
{
@public // 公开的变量可以用 对象->变量 获取 可被继承
int myInt;
@private // 私有的变量 只可以类内访问 不可被继承
@protected // 受保护的变量 只可以类内访问 可被继承
}
@end //类声明的结束
//在main方法中
#import "People.h" // 导入People.h头文件
int main(int argc, const char * argv[])
{
@autoreleasepool
{
People * myPeople = [[People alloc] init]; // 实例化People对象
myPeople->myInt = 10; // 设置变量的值
NSLog(@"myInt = %d",myPeople->myInt); // 调用变量的值
}
return 0;
}
//output: myInt = 10
<声明属性&使用属性>
// 声明一个People类 People.h 文件用于声明
@interface People : NSObject
@property int myInt; // 声明一个属性 外部可以通过 "点"方法 直接获取属性
@end //类声明的结束
//在main方法中
#import "People.h" // 导入People.h头文件
int main(int argc, const char * argv[])
{
@autoreleasepool
{
People * myPeople = [[People alloc] init]; // 实例化People对象
myPeople.myInt = 100; // 调用属性 Set方法 设置属性值
NSLog(@"myInt = %d",myPeople.myInt); // 调用属性 Get方法 获取属性值
}
return 0;
}
//output: myInt = 10
2019-06-01 RyccccCode