一、封装的作用:

1.重用

2.不必关心具体的实现

3.面向对象三大特征之一

4.具有安全性

二、OC中成员变量的命名规范以及注意事项

1、命名规范--.成员变量都以下划线“_”开头

  1)为了跟get方法的名称区分开

  2)一看到下划线开头的变量,肯定是成员变量

2、注意事项--以后的成员变量最好不要写@public,因为@public修饰的成员变量可以被别人乱改

三、成员变量的set方法

  1.作用:用来设置成员变量,可以在方法里面过滤掉一些不合理的值

  2.命名规范:

    1)方法都是以set开头,而且后面跟上成员变量名,成员变量名的首字母必须大写--例:setAge

    2)形参名称不要跟成员变量名同名--例:-(void) setAge:(int) newAge;

四、成员变量的get方法

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

  2.命名规范:get方法的名称一般就跟成员变量同名

五、代码示例

/*
成员变量的命名规范
*/ #import <Foundation/Foundation.h> // 声明
@interface Person : NSObject
{
// 成员变量都以下划线 _ 开头
// 1.可以跟get方法的名称区分开
// 2.一看到下划线开头的变量,肯定是成员变量
int _age;
} - (void) setAge:(int)newAge; - (int) age; @end // 实现
@implementation Person - (void) setAge:(int)newAge
{
_age = newAge;
} - (int) age
{
return _age;
} @end int main()
{
Person *p = [Person new];
[p setAge:]; int age2 = [p age]; NSLog(@"年龄是%i", age2); return ;
}

OC基础--成员变量的封装的更多相关文章

  1. OC基础成员变量、属性变量、实例方法与类方法

    首先,为什么我们要定义一个新类呢?按照我的理解,就是为了抽象出来一个新的东西(也就是类),用来存储更多的数据变量和方法,一切类都直接或间接继承与NSObject. 在类的头文件里我们可以定义成员变量. ...

  2. Java基础-成员变量与局部变量

    Java基础-成员变量与局部变量 1.什么是成员变量与局部变量? public class Student {   String name;   int high;   public void stu ...

  3. OC基础--对成员变量的封装

    #import <Foundation/Foundation.h> //日期结构体 typedef struct{ int year; int month; int day; } Date ...

  4. OC基础:实例变量和成员变量的区别 分类: ios学习 OC 2015-06-14 17:59 16人阅读 评论(0) 收藏

    摘要:  Objective-C  引入了"实例变量"的概念,但同时, 也经常出现 "成员变量"的声音. 到底什么是实例变量,什么是成员变量,二者的区别是什么呢 ...

  5. 【iOS 开发】Objective - C 面向对象 - 方法 | 成员变量 | 隐藏封装 | KVC | KVO | 初始化 | 多态

    一. Objective-C 方法详解 1. 方法属性 (1) OC 方法传参机制 Object-C 方法传参机制 : OC 中得参数传递都是值传递, 传入参数的是参数的副本; -- 基本类型 (值传 ...

  6. C#-面向对象的三大特性——封装(封装成员变量、封装成员方法)

    封装: 封装就是将数据或函数等集合在一个个的单元中(我们称之为类).被封装的对象通常被称为抽象数据类型. 封装的意义在于保护或者防止代码(数据)被我们无意中破坏. 封装既可以封装成员变量,又可以封装成 ...

  7. OC中成员变量的命名

    先前写C++ 的时候,命名成员变量一般都是用 m_veriableName:的方式,但是进到新项目组,用了OC以后,发现成员变量都是用 veriableName_的方式,最后的一个下划线表示是成员变量 ...

  8. C#面向对象——成员变量及封装

    namespace 面向对象5_22 { class Animal { private string _Type; public string Type { get { return _Type; } ...

  9. 第3章 Java语言基础----成员变量与局部变量

    在对局部变量进行赋值时,不能对非静态字段age进行静态引用,图1错误,加上static后图二正确,图3与图4类似,如下图所示: 图1图2 图3图4 2.成员变量times在类中定义,局部变量times ...

随机推荐

  1. cnblogs美化及插件

    1.vp计数 http://www.amazingcounters.com 2.来源地图 http://clustrmaps.com 2.1来源地图 http://www.flagcounter.co ...

  2. DAC使用基本准则

    DAC Nyquist Zones, Zero Order Hold, and Images why do the Fout images exist in every Nyquist zone? W ...

  3. 【实践】获取CKEditor的html文本、纯文本、被选中的内容及赋值

      <%=Html.TextAreaFor(Model => Model.WORK_INTRODUCTION)%> <script type="text/javasc ...

  4. HDU 1896 Stones --优先队列+搜索

    一直向前搜..做法有点像模拟.但是要用到出队入队,有点像搜索. 代码: #include <iostream> #include <cstdio> #include <c ...

  5. Mina 中遇到SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"

    SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".SLF4J: Defaulting to no-op ...

  6. android获取当前行所属类和所属方法名

        第一种方法: String Method = Thread.currentThread().getStackTrace()[2].getMethodName();   第二种方法: priva ...

  7. POJ 3461 Oulipo

      E - Oulipo Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ...

  8. windows 批处理把所有java源码导入一个txt文件中

    首先在src下搜*.java,把搜到的文件全拷出来放在allsrc目录下, 然后在allsrc目录下建个run.bat,键入以下内容for %%i in (*.java)  do type %%i&g ...

  9. 使用ConfigurationManager类读写配置文件

    使用ConfigurationManager类 读写配置文件app.config,以下为代码: view plaincopy to clipboard print? using System; usi ...

  10. eclipse使用

    Eclipse 是一个开放源代码的.基于 Java 的可扩展开发平台. Eclipse 是 Java 的集成开发环境(IDE),当然 Eclipse 也可以作为其他开发语言的集成开发环境,如C,C++ ...