• OC基础:getter和setter,@public @protected @private 分类: ios学习 OC 2015-06-15 19:23 22人阅读 评论(0) 收藏


    @public

    1.公开的,公共的,可以在类的内部和外部访问.

    2.类的内部:实例变量名

    3.类的外部:对象->实例变量名

    @protected

    1.受保护的,只能在本类和子类中可以访问

    2.类的内部:实例变量名

    3.类的外部:通过设置器setter和访问器getter访问

    @private

    1.私有的,只能在本类中可以访问

    2.类的内部:实例变量名

    3.类的外部:通过设置器setter和访问器getter访问

    总:@public 在所有文件均可访问.@protected只能在本类和子类中可以访问@priavte只能在本类中可以访问


    设置器 setter

    1.setter 一定是对象方法,以-开头

    2.返回值一定是void

    3.一定以set开头,后跟实例变量名去除_,实例变量名首字母大写.如:setAge

    4.一定要有参数,参数类型必须和实例变量的类型一致,参数名为实例变量名去除_

    NSInteger _age

    -(void)setAge:(NSInteger)age;


    访问器  getter

    1.getter 一定是对象方法,以-开头

    2.一定有返回值,返回值类型和实例变量的类型一致

    3.方法名只为实例变量名去除_即可.如:age

    NSInteger  _age

    -(NSInteger)Age;


    -----------------------------------------------------------------------------------------------------------------------------------------

    封装

    目的:为了实现高类聚.低耦合.为了隐藏数据,只能通过此类的方法才可以访问,修改数据.不被外界随意修改,降低误用性.

    类聚:模块成员之间的关系程度.

    耦合:模块之间的关系程度.

    -----------------------------------------------------------------------------------------------------------------------------------------

    对象方法   +

    在对象方法中能够使用实例对象

    对象方法只能由对象调用  [对象名 方法]

    类方法   -

    在类方法中不能使用实例变量,因为类方法由类来调用.并没有创建储存空间.

    类方法只能由类来调用  [类  方法]

    类方法的好处:不依赖对象,执行效率高,尽量使用类方法

    类方法的场合:方法中不需要实例方法的时候,使用类方法更简洁

    -----------------------------------------------------------------------------------------------------------------------------------------

    提取方法名

    -(void)say:(NSString)name;        //方法名为say:

    -(void)say:(NSString *)name withCount:(NSInteger)count;      //方法名为say:withCount:

    去除-(+)

    去掉返回值

    去掉参数类型和参数名



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    https://bbs.ichunqiu.com/thread-48915-1-1.html
    如何利用GitHub搜索敏感信息
    PHP7CMS 无条件前台GETSHELL
    S-CMS企建v3二次SQL注入
    浅析PHP正则表达式的利用技巧
    WPF中获得控件相对于控件的相对位置
    WPF 获得鼠标相对于屏幕的位置,相对于控件的位置
    WPF中设置快捷键
    Wpf 中使用gif格式的动态图
    安装window服务
  • 原文地址:https://www.cnblogs.com/shaoting/p/4619822.html
Copyright © 2020-2023  润新知