iOS重写和成员变量访问权限
一、重写机制
1.覆盖父类的方法
2.对父类方法做进一步的补充
注意:父类声明过得方法,子类无需声明。
* 子类如果重写了父类的方法:
1.父类的指针指向子类的对象,则调用方法时,调用的是子类的方法;
2.子类的指针指向子类的对象,同1相同;
* 子类未重写父类的方法:
1.父类的指针指向子类的对象,则调用的是父类的方法
2.子类的指针指向子类的对象,同1相同
二、成员变量访问权限:只能声明成员变量,不能声明属性和方法
@public 公开的,可以不通过setter/getter访问
@private 私有的,可以使用setter/getter访问,不能被继承
@protected 受保护的(默认权限),可以使用setter/getter方法
@package 框架内可以方法,框架外不可访问,此处的框架是指Foundation
举例
1 @interface Manster : NSObject{ 2 @public 3 NSString *className; 4 } 5 @end 6 7 int main(int argc, const char * argv[]) { 8 @autoreleasepool { 9 Manster *man = [[Manster alloc] init]; 10 man->className = @"高一41班";//不需要提供setter/getter方法 11 12 } 13 return 0; 14 }