封装、类方法及set/get方法的介绍

来源:互联网 发布:分类目录源码 编辑:程序博客网 时间:2024/04/30 13:05
1、面向对象三大特性:成员变量封装、继承、多态。

2、set方法(是保证成员变量封装性的一种重要途径)

(1)作用:提供一个方法给外界来设置自身成员值。

(2)命名规范:

  <1> 方法名必须以set开头

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

  <3>返回值一定是void

   <4>一定要接受一个参数,而且参数类型要跟成员变量类型一致。

  <5>形参的名称不能跟成员变量名一致。

set方法功能:为了不想让外部直接访问成员变量而对外部提供设置成员的接口。

可以对外部提供的参数进行选择与过滤,从而避免了外部赋给成员变量非法值。

3、get方法:

(1)作用:返回对象内部的成员变量。

(2)命名规范:

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

  <2>方法名和成员变量名一致。

  <3>不需要接受任何参数。

4、封装能保证数据安全性,不让成员变量暴漏给外部,从而避免外部直接访问或直接修改成员变量。封装即隐藏内部实现细节。

5、当某个成员只允许外部访问而不允许外部修改时只提供get方法。如果只允许外部修改而不允许外部访问时只提供set方法。

6、封装的细节:

  成员变量名的命名规则:一定要以下划线”_“开头:好处有

(1)让成员变量和get方法名称区分开

(2)可以跟局部变量区分开,一般看到以下划线开头的变量,一般都是成员变量。

二、弱语法:OC是在运行的过程中才会检测对象有没有实现相应的方法。一般在程序运行中出错就是闪退。

三、使用类名调用的方法称为类方法。使用对象调用的方法称为对象方法。以减号开头的方法都是对象方法。以+加号为开头的都是类方法。他们的区别如下:

(1)对象方法:首先以减号”_“开头,其次只能由对象来调用。

(2)类方法:以”+“开头,只能由类名来调用。

(3)可以允许类方法(相当于静态方法)和对象方法同名。

(4)类方法中是不能访问实例变量(非静态变量)或者叫成员变量。实例变量,顾名思义就是每个对象才具备的变量。因为类中只存在方法列表,是不存储实例变量的。所以用类名调用类方法时,是无法在类方法内访问到实例变量的。

(5)对象方法中可以访问到实例变量的。

(6)类方法的好处和使用场合:

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

         能用类方法尽量用类方法。

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

(7)类方法要用类名来访问,对象方法要用对象来访问。

注意:类方法中可以调用类方法。

四、工具类:基本没有任何成员变量,里面的方法基本都是类方法。

 

 

 

 

 

 

0 0
原创粉丝点击