Object-C 学习笔记 4 get set方法

                                                 Object-C 学习笔记  get set方法

入口

//
//  main.m
//  GetSet
//
//  Created by game912 on 2018/12/20.
//  Copyright © 2018年 john. All rights reserved.
//

#import 
#import "Person.h"


int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!");
        
        Person* p1 = [Person new];  //类型方法
        
        [p1 testFun];               //实例方法
        //使用成员变量的 getter 方法 name
        NSString* name =  [p1 name];
        NSLog(@"name is :%@",name);
        
        //使用成员变量的 getter 方法 age
        NSInteger age = [p1 age];
        NSLog(@"age is :%ld", age);
        
        
        [p1 setName:@"小强"];
        NSString* name1 =[p1 name];
        
        NSLog(@"name is :%@",name1);
        
        
        [p1 syaHello:@"NICE"];
        [p1 syaHello:@""];
        
        //在类的外部 不能直接访问
        //p1->_age
        //需要提供 set和get 方法
    }
    return 0;
}

 

//
//  Person.h
//  GetSet
//
//  Created by game912 on 2018/12/20.
//  Copyright © 2018年 john. All rights reserved.
//

#import 
//类的声明
@interface Person : NSObject{
    NSInteger _age;
    NSString* _name;
}
//声明的方法
- (void)testFun;

//给name 提供一个访问方法
/*
 
 + 类型方      [类名 类型方法]
 - 实例方法    [对象名 实例方法]
 */


//get 方法的名字不是 get开头 更不能随意写! 必须以成员变量的小写名字。而且必须是 实例方法 -

//name gaetter 方法
//NSString* name();   //实现C语言
-(NSString*) name;

//age gaetter 方法
-(NSInteger) age;

//set 方法的名字是set开头 没有返回值  名字不能随便起
//name setter 方法
//void setName(NSString name); //实现C语言
-(void)setName:(NSString*)name;


-(void) syaHello:(NSString*) content;

@end

 

//
//  Person.m
//  GetSet
//
//  Created by game912 on 2018/12/20.
//  Copyright © 2018年 john. All rights reserved.
//

#import "Person.h"
//类的实现
@implementation Person

//方法的实现
- (void)testFun{
    _age = 19;
    NSLog(@"age = %ld",_age);
}

- (NSString*)name{
    //_name = @"Dancer";
    return _name;
}

-(NSInteger) age
{
    _age = 18;
    return _age;
}

-(void) setName:(NSString *)name
{
    _name = name;
}

-(void) syaHello:(NSString*) content{
    NSLog(@"Say Hello  %@",content);
}


@end

这一节中讲的 一个主要类容就是: get set  主重点就是  命名上面 OC 强制要求如此

 

get 方法的名字不是 get开头 更不能随意写! 必须以成员变量的小写名字(驼峰保持  就是开头)。而且必须是 实例方法 -

比如说 有一个 变量的名字交  _money

他的Get方法就是
NSString* money();   //实现C语言
-(NSString*) money;  //OC 方法

set 方法的名字是  set开头 没有返回值  名字不能随便起 而且必须是 实例方法 -
void setMoney (NSString money);    //实现C语言
-(void)setMoney:(NSString*)money; //OC 方法

 

你可能感兴趣的:(Object-C,学习笔记)