zoukankan      html  css  js  c++  java
  • oc-16-set,get方法

    S.h

    #import <Foundation/Foundation.h>
    /**
     解决方案:
     1.不用@public修饰
     2.我们对象有访问和设置成员变量的两种操作
     1>设置值
     p->age = 10;
     2>访问值
     NSLog(@"%d",p->age);
     
     现在要提供两个方法来进行设置值和访问值
     1>设置成员变量
     约定的格式:
     - (void)set成员变量名(去掉下划线,首字母大写):(成员变量数据类型)成员变量名(去掉下划线);
     - (void)setAge:(int)age;
     
     2>访问成员变量
     约定的格式:
     - (成员变量数据类型)成员变量名(去掉下划线);
     - (int)age;
     */
    
    //.h文件时暴露在外面的,.m文件是隐藏的。
    
    @interface Student : NSObject
    {
        int _age;  // 年龄,成员变量又下划线,局部变量没有下划线。
        NSString *_name; //名字
    }
    // 提供年龄的设置和访问的方法
    - (void)setAge:(int)age;
    - (int)age;
    
    // 设置和访问名字的方法
    - (void)setName:(NSString *)name;
    - (NSString *)name;
    @end

    S.m

    #import "Student.h"
    
    @implementation Student
    
    // 提供年龄的设置和访问的方法
    - (void)setAge:(int)age
    {
        if (age > 0 && age < 120) {
            _age = age;
        }else{
    //        age = 20;
            _age = 20;
        }
    }
    
    - (int)age
    {
        return _age;
    }
    
    
    // 设置和访问名字的方法
    // 比较两个字符串是否相同 - (BOOL)isEqualToString:(NSString *)aString;
    - (void)setName:(NSString *)name
    {
        
        if ([name length] > 2) {
            if ([name isEqualToString:@"D大调"] ||[name isEqualToString:@"D大调方法"]) {
                _name = @"佚名";
                
            }else{
                _name = name;
            }
        }
        else
        {
            NSLog(@"请重新输入!");
        }
        
    }
    - (NSString *)name
    {
        return _name;
    }
    @end
  • 相关阅读:
    mktemp -t -d用法
    使用getopts处理输入参数
    linux中$1的意思
    linux中的set -e 与set -o pipefail
    在windows 7 和linux上安装xlwt和xlrd
    nginx map使用方法
    Linux crontab下关于使用date命令和sudo命令的坑
    东哥讲义
    ldapsearch使用
    date 命令之日期和秒数转换
  • 原文地址:https://www.cnblogs.com/yaowen/p/5309201.html
Copyright © 2011-2022 走看看