成员变量命名规范,类方法,self

来源:互联网 发布:php 使用aes加密 编辑:程序博客网 时间:2024/05/18 01:05

成员变量的命名规范

  • 成员变量以_下划线开头
#import <Foundation/Foundation.h>typedef enum{    SexMan,    SexWoman} Sex;@interface Student : NSObject{//成员变量名的命名规范:以下划线开头_    Sex _sex;    int _no;}- (void)setSex:(Sex)sex;//也没必要设置为newSex sex就行- (Sex)sex;- (void)setNO:(int)no;- (int)no;@end@implementation Student- (void)setSex:(Sex)sex{    _sex = sex;}- (Sex)sex{    return _sex;}- (void)setNO:(int)no{    _no = no;}- (int)no{    return _no;}@end

类方法与工具类

  • 类方法的方法声明与实现以加号+开头
  • 只能通过类来调用方法
  • 几乎不包含任何成员变量的类方法成为工具类
#import <Foundation/Foundation.h>@interface Computer : NSObject+ (int)sumOfNum1:(int)num1 andNum2:(int)num2;+ (int)averageOfNum1:(int)num1 andNum2:(int)num2;@end@implementation Computer+ (int)sumOfNum1:(int)num1 andNum2:(int)num2{    return num1 + num2;}+ (int)averageOfNum1:(int)num1 andNum2:(int)num2{    int sum = [Computer sumOfNum1:10 andNum2:5];    return sum / 2;}@endint main(int argc, const char * argv[]) {    @autoreleasepool {        int a = [Computer averageOfNum1:10 andNum2:5];        NSLog(@"%d", a);    }    return 0;}

self的用法

谁调用代表谁

  • 用法一:局部变量与成员变量重名,却要调用成员变量的时候,用来访问成员变量
#import <Foundation/Foundation.h>@interface Person : NSObject{    int _age;}- (void)setAge:(int)age;- (int)age;-(void)test;@end@implementation Person- (void)setAge:(int)age{    _age = age;}- (int)age{    return _age;}-(void)test{    int _age = 30;    NSLog(@"Person's age = %d", self->_age);}@endint main(int argc, const char * argv[]) {    @autoreleasepool {        Person *p = [Person new];        [p setAge:18];        [p test];    }    return 0;}
  • 用法二:调用方法
@interface Dog : NSObject- (void)bark;- (void)run;@end@implementation Dog- (void)bark{    NSLog(@"www");}- (void)run{    [self bark];    NSLog(@"rrr");}@endint main(){    Dog *d = [Dog new];    [d run];    return 0;}
0 0
原创粉丝点击