zoukankan      html  css  js  c++  java
  • 点语法

    1 int main(int argc, const char * argv[])
    2 {
    3    @autoreleasepool {
    4      Student *stu = [[Student alloc] init];
    5
    6      // 设置age的值
    7      stu.age = 10; // 等价于[stu setAge:10];
    8
    9      // 取出age的值
    10      int age = stu.age; // 等价于int age = [stu age];
    11
    12      NSLog(@"age is %i", age);
    13
    14      [stu release];
    15    }
    16    return 0;
    17 }
    OC中点语法的含义跟Java是完全不一样的,OC点语法的本质是方法调用,不是直接访问成员变量。

    一点小建议:

      如果是第一次接触OC的点语法,你可能会真的以为stu.age的意思是直接访问stu对象的成员变量age。
      其实,有一部分原因是因为我这里定义的Student类的成员变量名就叫做age。
      为了更好地区分点语法和成员变量访问,一般我们定义的成员变量会以下划线 _ 开头。比如叫做 _age 。
        1.Student.h,注意第4行
          1 #import <Foundation/Foundation.h>
          2
          3 @interface Student : NSObject {
          4 int _age;
          5 }
          6
          7 - (void)setAge:(int)newAge;
          8 - (int)age;
          9
          10 @end
        2.Student.m,注意第6行和第10行
          1 #import "Student.h"
          2
          3 @implementation Student
          4
          5 - (void)setAge:(int)newAge {
          6 _age = newAge;
          7 }
          8
          9 - (int)age {
          10 return _age;
          11 }
          12
          13 @end

  • 相关阅读:
    Redhat 8 nfs网络共享
    Cisco ASA NAT (1) 静态配置和端口映射
    DISM命令行工具修复Windows 10映像
    開啟windows 7 ,10 的熱點功能(無線熱點)
    symantec SMG 抓包
    在 MacBook 上安装 Ubuntu
    springboot整合的MongoDB(一){博主新人入坑,不对的地方还望大哥指出}
    feign接口无法传递参数 (初学者)
    low cache rba恢复到on disk rba
    控制文件被删除的测试
  • 原文地址:https://www.cnblogs.com/tzktzk1/p/3329603.html
Copyright © 2011-2022 走看看