ObjectC便利构造器
便利构造器
语法形式 :" + " (当前类的类型) 当前类名小写开头 + With (W大写) + 各个参数;
其实便利构造器 内部就是封装了 alloc 和 init 方法
//便利构造器
+(Person *)personWithName:(NSString *)name sex:(NSString*)sex age:(NSString*)age;
实现:
+(Person *)personWithName:(NSString *)name sex:(NSString*)sex age:(NSString*)age
{
Person *p = [[Person alloc]initWithName:name sex:sex age:age];
return p;
}
调用:
//创建Person对象
Person *p = [[Person alloc]initWithName:@"小明" sex:@"男" age:@"18"];
[p sayHi];
//便利构造器
Person *p1 = [Person personWithName:@"小明" sex:@"男" age:@"18"];
[p1 sayHi];
Tips:
@interface Person : NSObject
: 表示继承 ,前面是子类 ,后面是 父类
子类继承与 父类 意味着 拥有了父类所有的实例变量和方法(当前子类自身的实例变量和方法)
子类 可以重写从父类继承的方法(比如重新description);
super 和 self
self 谁调用方法那么 self就是谁 在" - "方法中(实例方法)self 指的是当前对象 在"+ "(类的方法)self 指的就是 当前的类
super 是一个指令 不是父类对象 执行父类方法的实现