第04天OC语言(02):property基本使用
第04天OC语言(02):property基本使用
lyh2017iOS 发表于5个月前
第04天OC语言(02):property基本使用
  • 发表于 5个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

  • 不要等到明天,明天太遥远,今天就行动。

#####须读:看完该文章你能做什么? > property的使用

#####学习前:你必须会什么?(在这里我已经默认你具备C语言的基础了) > 什么是setter、getter方法


#####一、本章笔记

 @property 是一个编译器指令
 在Xcode4.4之前, 可以使用@property 来代替 getter / setter方法的声明
 也就是说我们 只需要写上@property 就不用写getter / setter方法的声明
 编译器只要看到 @property, 就知道我们要生成某一个属性的 getter/setter方法的声明
 
 @property int age;
 等同于👇
 1.定义变量
 {
 int _age;
 }
 2.声明setter 和 getter方法
 - (void)setAge:(int)age;
 - (int)age;

#####二、code ######main.m

######main.m
#pragma mark 02-property基本使用
#pragma mark - 代码
#import <Foundation/Foundation.h>
#pragma mark 类
#import "Person.h"
#pragma mark - main函数
int main(int argc, const char * argv[])
{
    Person *p = [Person new];
    [p setAge:22];
    [p age];
    
    [p set_age:22];
    [p _age];
    return 0;
}

######Person

>>>.h
#import <Foundation/Foundation.h>

@interface Person : NSObject
{
//    int _age;
    double _height;
    double _weight;
    NSString *_name;
}
@property int age;
@property int _age; // 这样格式不符合规范 并且证明 系统是如何生成setter和getter方法的
/*
 - (void)set_age:(int)age;
 - (int)_age
 */


#pragma mark @property
/*
 @property 是一个编译器指令
 在Xcode4.4之前, 可以使用@property 来代替 getter / setter方法的声明
 也就是说我们 只需要写上@property 就不用写getter / setter方法的声明
 编译器只要看到 @property, 就知道我们要生成某一个属性的 getter/setter方法的声明
 
 @property int age;
 等同于👇
 1.定义变量
 {
    int _age;
 }
 2.声明setter 和 getter方法
 - (void)setAge:(int)age;
 - (int)age;
 */



#pragma mark getter - setter
/*
 setter:
 作用 : 用于给成员变量赋值
 1. 一定是对象方法
 2. 一定没有返回值
 3. 方法名称以set开头, 后面跟上需要赋值成员变量名称,并且去掉下划线,然后首字母大写
 4.一定有参数,参数类型 和 需要赋值的成员变量一致, 参数名称 就是 需要赋值的成员变量名称去掉下滑线
 */
//- (void)setAge:(int)age;
- (void)setHeight:(double)height;
- (void)setWeight:(double)weight;
- (void)setName:(NSString *)name;
/*
getter:
 作用: 用于获取成员变量的值
 1.一定是对象方法
 2.一定有返回值,返回值类型 和 需要获取的成员变量的类型 一致
 3.方法名称 就是 需要获取的成员变量的名称 去掉下划线
 4.一定没有参数
 */
//- (int)age;
- (double)height;
- (double)weight;
- (NSString *)name;


@end

>>>.m
#import "Person.h"

@implementation Person


//- (void)setAge:(int)age
//{
//    _age = age;
//}
- (void)setHeight:(double)height
{
    _height = height;
}
- (void)setWeight:(double)weight
{
    _weight = weight;
}
- (void)setName:(NSString *)name
{
    _name = name;
}

//- (int)age
//{
//    return _age;
//}
- (double)height
{
    return _height;
}
- (double)weight
{
    return _weight;
}
- (NSString *)name
{
    return _name;
}

@end
标签: OC语言
共有 人打赏支持
粉丝 2
博文 354
码字总数 137380
×
lyh2017iOS
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: