美文网首页八天学会OC
第03天OC语言(05):点语法

第03天OC语言(05):点语法

作者: liyuhong | 来源:发表于2017-07-20 16:10 被阅读8次
  • 不要等到明天,明天太遥远,今天就行动。
须读:看完该文章你能做什么?

什么是点语法

学习前:你必须会什么?(在这里我已经默认你具备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

相关文章

  • 第03天OC语言(05):点语法

    不要等到明天,明天太遥远,今天就行动。 须读:看完该文章你能做什么? 什么是点语法 学习前:你必须会什么?(在这里...

  • OC之01基础之基础语法

    01 语法概述 不妨将OC说成是面向对象的C语言,因为OC是在C语言的基础是建立的,而且在OC的语法中是完全...

  • oc是一门什么样的语言以及runtime

    oc是一门什么样的语言以及runtime oc介绍 oc很古老,使用上没有java,swift点语法的酸爽,而是中...

  • OC第一部分

    本篇博客的主要知识点是: 01OC概述 02第一个OC程序 03OC基本语法概述 04NSLog的基本用法 05B...

  • 关于swift调研报告

    一丶 语言特性以及发布历史特性:Swift 语法内容混合了OC,JS,Python,语法简单,使用方便,并可与OC...

  • OC语言前期准备

    一、OC简介 Oc语言在c语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,在OC代码中,可以混用c,甚...

  • OC基本语法

    // //main.m //OC基本语法 //OC语言的第一次接触 //Created by side on 16...

  • OC -- 点语法

    创建类:User 当我们使用@property 创建属性的时候,会产生“.语法”--> 使用“.”代替set 和 ...

  • IOS学习之——新手基础学习资料分享

    /* 1、OC简介: OC 是C语言的超集,它在C语言的基础上增加了最小的面向对象的语法 2、对比C来学习OC 数...

  • 1-OC与C的语法区别

    1.OC语言本质 OC不是一门全新的语言,C语言的基础上增加了一层最小的面向对象语法. OC发明者:1986年,B...

网友评论

    本文标题:第03天OC语言(05):点语法

    本文链接:https://www.haomeiwen.com/subject/uxwvhxtx.html