iOS重写和成员变量访问权限

时间:2023-12-02 11:53:50

一、重写机制

1.覆盖父类的方法

2.对父类方法做进一步的补充

注意:父类声明过得方法,子类无需声明。

* 子类如果重写了父类的方法:

1.父类的指针指向子类的对象,则调用方法时,调用的是子类的方法;

2.子类的指针指向子类的对象,同1相同;

* 子类未重写父类的方法:

1.父类的指针指向子类的对象,则调用的是父类的方法

2.子类的指针指向子类的对象,同1相同

二、成员变量访问权限:只能声明成员变量,不能声明属性和方法

@public 公开的,可以不通过setter/getter访问

@private 私有的,可以使用setter/getter访问,不能被继承

@protected 受保护的(默认权限),可以使用setter/getter方法

@package 框架内可以方法,框架外不可访问,此处的框架是指Foundation

举例

 @interface Manster : NSObject{
@public
NSString *className;
}
@end int main(int argc, const char * argv[]) {
@autoreleasepool {
Manster *man = [[Manster alloc] init];
man->className = @"高一41班";//不需要提供setter/getter方法 }
return ;
}