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 }

 

posted @ 2017-02-19 00:03  bky2016  阅读(292)  评论(0编辑  收藏  举报