zoukankan      html  css  js  c++  java
  • OC4_实例变量的作用域

    //
    //  Dog.h
    //  OC4_实例变量的作用域
    //
    //  Created by zhangxueming on 15/6/16.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface Dog : NSObject
    {
        @protected//受保护的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类可以直接继承受保护的实例变量
        NSString *_name;
        NSInteger _age;
        @private  //私有的实例变量, 在当前类里面可以直接访问,在类外面不可以直接访问,但是可以通过调用方法间接访问,子类不可以继承私有的实例变量
        float _weight;
        float _height;
        @public   //公有的实例变量, 在类内类外都可以直接访问,子类可以直接继承公有的实例变量
        NSInteger _number;
    }
    
    //@property 关键字展开的实例变量是私有的
    
    @property (copy,nonatomic) NSString *name;
    @property (assign,nonatomic)NSInteger age;
    @property (assign,nonatomic)float weight;
    @property (assign,nonatomic)float height;
    //@property (assign,nonatomic)NSInteger number;
    - (void)setNumber:(NSInteger)number;
    - (NSInteger)number;
    
    - (void)printNumber;
    
    @end
    //
    //  Dog.m
    //  OC4_实例变量的作用域
    //
    //  Created by zhangxueming on 15/6/16.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import "Dog.h"
    
    @implementation Dog
    {
        NSInteger abc;
    }
    
    - (void)setNumber:(NSInteger)number
    {
        _number = number;
    }
    
    - (NSInteger)number
    {
        return self->_number;
    }
    
    - (void)printNumber
    {
        NSLog(@"number = %li", [self number]);
    }
    
    
    @end
    //
    //  main.m
    //  OC4_实例变量的作用域
    //
    //  Created by zhangxueming on 15/6/16.
    //  Copyright (c) 2015年 zhangxueming. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import "Dog.h"
    
    int main(int argc, const char * argv[]) {
        @autoreleasepool {
            Dog *xiaoHei = [[Dog alloc] init];
    //        xiaoHei->_name = @"小黑";
    //        xiaoHei->_age =12;
    //        _name = @"xiaohei";
            xiaoHei.name =@"小黑";
            xiaoHei.age = 12;
            NSLog(@"name =%@ age = %li", xiaoHei.name, xiaoHei.age);
            
            xiaoHei.weight = 34.2;
            xiaoHei.height = 50;
            NSLog(@"weight  = %.2f height = %.2f", [xiaoHei weight], xiaoHei.height);
            
            xiaoHei->_number = 100;
            NSLog(@"number = %li", xiaoHei->_number);
            
        
        }
        return 0;
    }
  • 相关阅读:
    [原]Linux 命令行浏览器
    Linux 命令行浏览器
    [原]Linux 命令行 发送邮件
    Linux 命令行 发送邮件
    [原]Linux 修改时区
    Linux 修改时区
    [原]Ubuntu 下安装Mongodb
    离线解密RDP凭证密码
    [Win]权限维持
    Nginx反向代理
  • 原文地址:https://www.cnblogs.com/0515offer/p/4581207.html
Copyright © 2011-2022 走看看