第03天OC语言(05):点语法
第03天OC语言(05):点语法
lyh2017iOS 发表于3个月前
第03天OC语言(05):点语法
  • 发表于 3个月前
  • 阅读 0
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云实验室 1小时搭建人工智能应用,让技术更容易入门 免费体验 >>>   

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

#####须读:看完该文章你能做什么?

什么是点语法

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

什么是getter、setter方法


#####一、本章笔记

 如果给属性提供了getter 和 setter方法,那么访问属性 又多了一种访问方式,点语法
 点语法 其实它的本质 是调用了 我们的 setter 和 getter方法
 点语法是一个编译器的特性, 会在程序 翻译成二进制的时候 将.语法自动转换为 setter 和 getter方法
 如果 点语法在=号的左边,那么编译器会自动转换为 setter方法
 如果 点语法在=号的右边,或者没有等号,那么编译器 就会自动转换为getter方法
 */
/*
 点语法的注意点:
 点语法一般用于给成员变量赋值, 如果不是给成员变量赋值 一般情况下不建议使用,但是也是可以使用的

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

#pragma mark 05-点语法
#pragma mark 概念
/*

 */
#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->_age = 25;
    p->_name = "lyh";
    p->_height = 1.71;
    NSLog(@"age = %i,name = %@,height = %f",p->_age,p->_name,p->_height);
    */
//    [p setAge:25];
//    [p setName:@"lyh"];
//    [p setHeight:1.71];
//    NSLog(@"age = %i,name = %@,height = %f",[p age],[p name],[p height]);
    
#pragma mark 点语法
    /*
     如果给属性提供了getter 和 setter方法,那么访问属性 又多了一种访问方式,点语法
     点语法 其实它的本质 是调用了 我们的 setter 和 getter方法
     点语法是一个编译器的特性, 会在程序 翻译成二进制的时候 将.语法自动转换为 setter 和 getter方法
     如果 点语法在=号的左边,那么编译器会自动转换为 setter方法
     如果 点语法在=号的右边,或者没有等号,那么编译器 就会自动转换为getter方法
     */
    

    p.name = @"lyh";
    //[ p setName:@"lyh"]
    p.age = 25;
    p.height = 1.71;
    NSLog(@"age = %i,name = %@,height = %f",p.age,p.name,p.height);
    /*
     点语法的注意点:
     点语法一般用于给成员变量赋值, 如果不是给成员变量赋值 一般情况下不建议使用,但是也是可以使用的
     */
    p.test; // [p test];

    return 0;
}

######Person

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

@interface Person : NSObject
{
    @public
    int _age;
    NSString *_name;
    double _height;
}

- (void)setAge:(int)age;
- (void)setName:(NSString *)name;
- (void)setHeight:(double)height;

- (int)age;
- (NSString *)name;
- (double)height;

- (void)test;
@end
>>>.m
#import "Person.h"

@implementation Person
- (void)setAge:(int)age
{
    _age = age;
}
- (void)setName:(NSString *)name
{
    _name = name;
}
- (void)setHeight:(double)height
{
    _height = height;
}

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