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这两个成员变量。

  • 相关阅读:
    【Vue】Re19 Promise
    【Vue】Re17 Router 第四部分(参数传递,守卫函数)
    【Vue】Re16 Router 第三部分(懒加载、子路由)
    【Vue】Re15 Router 第二部分(缺省路由、动态路由)
    【Vue】Re14 Router 第一部分(入门案例)
    【Vue】Re13 CLI(Command Line Interface)
    【Vue】Re12 Webpack 第三部分(插件、热部署、配置分离)
    【Vue】Re11 Vue 与 Webpack
    【Vue】Re10 Webpack 第二部分(Loader)
    11-26日测试
  • 原文地址:https://www.cnblogs.com/ITLiu/p/4540839.html
Copyright © 2011-2022 走看看