objective-c 变量和方法,看这一篇文章就差不多了

//
//  MyTest.h
//  eliteEnglishIPhone
//
//  Created by jelly on 2020/2/23.
//  Copyright © 2020 jelly. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface MyTest : NSObject
//--------------- area1 变量声明区域 ---------------
//一般也不这样写,麻烦
//对外开放的实例变量,直接用 area2替代
//私有实例变量 则在 @implementation 上面(静态变量) 或 下面(非静态变量) 来声明
{
    @private
    NSString *pri;
    @public
    NSString *pub;
}

//--------------- area2 变量声明区域 ---------------
//注意,objective-c 中的属性 实质就是方法,是方便不再手写 getter 和 setter 方法
//和 java 里的属性不是一个意思,在 java 里,属性=成员变量=实例变量

//对内可用,同时对外开放,这样声明就行了,xcode 会自动帮我们做3件事:
//同时在 xx.m 中就可以省略 @synthesize 和 @dynamic,这是 xcode 编译器增强后,给开发者带来的的便利性
//1,变量声明
//2,变量对应的 getter 和 setter 方法声明
//3,变量对应的 getter 和 setter 方法实现
@property NSString *name;
@property int age;

//--------------- area3 方法声明区域 ---------------
//声明实例方法,必须先创建类的实例,再调用,实例.实例方法()
-(void)instanceMethod;
//声明类方法,不用创建实例,可以直接用 类名.类方法() 调用
+(void)classMethod;
@end

NS_ASSUME_NONNULL_END

 

 

 

//
//  MyTest.m
//  eliteEnglishIPhone
//
//  Created by jelly on 2020/2/23.
//  Copyright © 2020 jelly. All rights reserved.
//

#import "MyTest.h"

//--------------- area1 static 实例变量声明区域 ---------------
//凡是在 @implementation 外声明的变量,都是静态变量,加不加 static 一样
//下面的 +(void)test() 证明了我们所说的
NSString *face1;
static NSString *face2;

@implementation MyTest
//--------------- area1 实例变量声明区域 ---------------
{
    //在这里声明的都是,实例变量=成员变量
    NSString *book;
    NSString *money;
}

//在这里声明的都是,实例变量=成员变量
NSString *toy;

//--------------- area2 方法声明区域(实例方法或类方法) ---------------
//实例方法
-(void)instanceMethod{
    
}

//类方法
+(void)classMethod{
    
}

+(void)test{
    face1 = @"face1";
    face2 = @"face2";
}
@end

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章