zoukankan      html  css  js  c++  java
  • iOS之05-三大特性之封装

    本次主要学习面向对象的三大特性:封装继承多态中的封装

    封装

     1、 好处

      降低耦合率

      可重复调用类中的属性

      提高安全性外部不能随便修改变量的值,保证了数据的安全性

     2、 set方法

      1.作用:提供一个方法给外界设置成员变量,可以在方法里面对参数进行相应的过滤

      2.命名规范

       1> 方法名必须以set开头

       2> set后面跟上成员变量的名称,成员变量的首字母必须大写

       3> 返回值一定是void

       4> 一定要接收一个参数,而且参数类型成员变量类型一致

       5> 形参的名称不能跟成员变量名一样

     3、 get方法

      1.作用:返回对象内部的成员变量

      2.命名规范

       1> 肯定有返回值,返回类型肯定与成员变量类型一致

       2> 方法名为成员变量名去掉下划线 _ ,成员变量在定义时,一般以下划线 _ 开头

       3> 不需要接收任何参数

     4、 成员变量

      命名规范:一定要用下划线 _ 开头

      作用:
        1.让成员变量get方法区分
        2.可以跟局部变量区分,一看到下划线开头的变量,一般都是成员变量

     5、 对象方法和类方法

      1.对象方法

       1> 减号 - 开头

       2> 只能由对象调用

       3> 对象方法中能访问成员变量(实例变量)

      2.类方法   

       1> 加号 + 开头

       2> 只能由类(名)来调用

       3> 类方法中不能访问成员变量(实例变量)

      3.类方法的好处

       1> 不依赖于对象,执行效率高

       2> 能用类方法尽量用类方法

       3> 场合:当方法内部不需要使用到成员变量时,就可以改为类方法

      允许类方法和对象方法同名

    示例代码

     1 #import <Foundation/Foundation.h>
     2 
     3 // 定义一个性别枚举
     4 typedef enum {
     5     SexMan,
     6     SexWoman
     7 } Sex;
     8 
     9 @interface Student : NSObject
    10 {
    11     // 成员变量
    12     int _no;
    13     Sex _sex;
    14 }
    15 // sex的set和get方法的声明
    16 - (void)setSex:(Sex)sex;
    17 - (Sex)sex;
    18 @end
    19 
    20 @implementation Student
    21 // sex的set和get方法的实现
    22 - (void)setSex:(Sex)sex {
    23     _sex = sex;
    24 }
    25 - (Sex)sex {
    26     return _sex;
    27 }
    28 @end
    29 
    30 int main() {
    31     // 创建一个学生对象
    32     Student *stu = [Student new];
    33     // 调用stu对象性别的set方法
    34     [stu setSex:SexMan];
    35     // 调用stu对象性别的get方法
    36     NSLog(@"%d", [stu sex]); 
    37     
    38     return 0;
    39 }
  • 相关阅读:
    自动脚本工具新版 v2.0
    Flash 导出图片和声音
    as3 工具类分享 CookieMgr
    时间戳与时间
    OpenGL 加载位图(BMP)贴图
    as3+java+mysql(mybatis) 数据自动工具(七)
    as3+java+mysql(mybatis) 数据自动工具(六)
    as3+java+mysql(mybatis) 数据自动工具(五)
    as3+java+mysql(mybatis) 数据自动工具(四)
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/gfxxbk/p/5284822.html
Copyright © 2011-2022 走看看