私有方法:不能在外界调用的方法,只有实现没有声明的方法
OC只有在实现文件中的定义的这个方法是私有,但是不是绝对的私有;(可以用id类型的方法去调用,不推荐使用)
私有方法:就是不让外界调用方法,是对自己类功能的封装。
OC只有在实现文件中的定义的这个方法是私有,但是不是绝对的私有;(可以用id类型的方法去调用,不推荐使用)
私有方法:就是不让外界调用方法,是对自己类功能的封装。
如果在一个类的方法可以写成私有的就不要写成公开的,如果别人调用了你的方法,当你修改方法的参数或者其它内容,别人调用的方法就会报错。
#import <Foundation/Foundation.h>//------main
#import "LSPerson.h"
#import "LSSTudent.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
LSPerson *per = [[LSPerson alloc] init];
// [per say];设为私有方法后,外接不能掉调用
[per show];//可以通过方法内部区调用这个私有方法
id p = per; //私有方法也不是绝对的私有,还是可以通过id类型的弊端去调用(不推荐使用)
[p say];//打印hello
}
return 0;
}
#import <Foundation/Foundation.h>//------LSPerson.h
@interface LSPerson : NSObject
//没有say方法的声明
- (void) show;
@end
#import "LSPerson.h"//------LSPerson.m
@implementation LSPerson
//只有实现,没有声明的方法,就是私有方法
- (void) say{
NSLog(@"hello");
}
- (void) show{
[self say];//调用自己的say方法
}
@end
#import <Foundation/Foundation.h>//------LSStudent.h
@interface LSSTudent : NSObject
- (void) say;
@end
#import "LSSTudent.h"//------LSStudent.m
@implementation LSSTudent
- (void) say{
NSLog(@"我是一个学生");
}
@end