Lesson1
创建person对象
1.使用allo方法,在内存中开辟出储存空间,并清零,将内存空间的首地址返回
[]: 方法是OC中,方法调用 消息发送的表示符,在方括号左边写的是消息的接受者,在方括号右边写的是消息(方法名)
alloc是以加号开头,凡是以+开头,表示的是类方法,只能由类名来调用
2.使用init方法,将刚刚开辟出来的内存空间设置上初始值和必要的配置(比如注册方法等)
init 是以减号开头的,凡是以-开头,表示的是对象方法(实例方法),只能由对象来调用
eg:
Person *person = [Person alloc]; person = [Person init];
我们可以把alloc和init合并在一行代码中,减少代码量
Person *person = [[Person alloc]init];
通过对象使用(->)箭头找到对象的实例变量,并且赋值过程和使用结构体指针给结构体变量赋值一样
使用%@作为OC中的占位符,如果需要把一个对象转换为字符串打印输出,那么就是用%@作为占
eg:
person->_name = @"菜鸡军"; NSLog(@"%@",person2->name);
[person sayHi];
// sayHi方法的调用
#import <Foundation/Foundation.h>
@interface ...@end 表示类的声明部分,将类的实际变量(特征)和方法(行为)写在之一对关键字中间
person 表示本类的名字,也就是这个类叫什么
::冒号表示的是继承关系,冒号前面的类继承冒号后面的类
NSObject :根类 (所有的类始终都继承自他,而他却没有父类)
@interface Person : NSObject {
@public
// @public 实例变量的可见度修饰词,public 表示公共的,使用public修饰的实例变量可以在类的外部随意访问
NSString *_name;
// 姓名
// 实例变量的书写规则:实例变量的名字遵循驼峰法的方法命名,在实例变量前,使用下划线开头。
}
类的方法(行为)在大括号以外声明,
-:减号是方法的类型修饰符,减号表示这个方法只能由对象来调用(这个消息只能发送给对象),如果是加号的话,表示这个方法只能由类来调用(这个消息只能发送给类)
()第一个小括号是写的是方法的返回值类型,(也就是函数的返回值),void表示返回值为空,无返回值
sayHi:表示方法名
eg:
- (void)sayHi;
#import "Person.h"
//@implementation @end 表示类的实现部分,在头文件(接口文件)中声明的方法,在这里实现
@implementation Person
// 我们可以通过重写系统提供的初始化方法来定制自己需要的实例变量的值
- (instancetype)init{
_name = @"caiji";
return self;
// self 表示的是初始化完成的对象
}
- (void)sayHi
{
NSLog(@"hello everyone!");
// nslog oc提供的打印函数,和c中的printf一样在控制台输出指定的字符串
// 使用nslog打印符号,打印结束后会自动换行
// 在OC中,表示一个字符串常量,用@“”来表示
}
网友评论