zoukankan      html  css  js  c++  java
  • 【好程序员训练营】Objective-C学习笔记----------成员变量和成员函数的封装

    <A href="http://www.goodprogrammer.org/" target="blank">ios培训</A>------我的OC语言笔记,期待与您交流!

      前言--在我们开发项目的过程中,很多时候我们不想程序里面的成员变量或者成员函数暴露出来,我们只希望别人通过一些方法来调用这些变量或者函数,

    这时就需要用到成员变量和成员函数的封装

      

      一、成员变量的封装

    @interface Person:NSObject{
    @private
        int age;
     NSString *name;            //定义一个成员变量name
    }
    -(id)init;
    -(void)setname:(NSString *)newname;
    @end
    
    @implementation Person
    
    -(void)setname:(NSString *)newname{      //将name封装到setname这个函数中
        name = newname;
    }

    在上面的这段代码中,我们定义了一个引用类型的成员变量name,用setname这个函数进行封装过后就可以用setname:这个函数直接操作name了,否则我们就需要用obj->name = @"...";;来进行操作,这样成员变量就暴露在外面了。

      二、成员函数的封装

    @interface Person:NSObject{
    @private
        int age;
        NSString *name;
    }
    -(void)setname:(NSString *)newname;
    -(void)setage:(int)newage;
    -(void)setname:(NSString *)newname age:(int)newage;
    @end
    
    @implementation Person
    
    -(void)setname:(NSString *)newname{             //函数一
        name = newname;
    }
    -(void)setage:(int)newage{                             //函数二
        age = newage;
    }
    -(void)setname:(NSString *)newname age:(int)newage{         //函数三
        [self setname:newname];            //将函数setname:调了进来
        [self setage:newage];              //将函数setage:调了进来
    }

    上面的这段代码中,函数一和函数二分别封装了name和age这两个成员变量,函数三将函数二封装了起来,我们可以直接赋给函数三参数来操作age和name这两个成员变量。

  • 相关阅读:
    【转】三层架构,MVC, ASP.net MVC的区别
    code-Behind
    从输入 URL 到页面加载完成的过程中都发生了什么事情?
    javascript杂谈
    网页设计中透明效果的使用技巧
    phpstorm+Xdebug断点调试PHP
    MySql IFNULL 联表查询出来的null 如何赋值
    php读取目录下的文件
    CI框架程序--本地调试之后部署新浪SAE
    各个手机APP客户端内置浏览器useragent
  • 原文地址:https://www.cnblogs.com/ITLiu/p/4540839.html
Copyright © 2011-2022 走看看