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

封装

 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> 场合:当方法内部不需要使用到成员变量时,就可以改为类方法

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

示例代码

 #import <Foundation/Foundation.h>

 // 定义一个性别枚举
typedef enum {
SexMan,
SexWoman
} Sex; @interface Student : NSObject
{
// 成员变量
int _no;
Sex _sex;
}
// sex的set和get方法的声明
- (void)setSex:(Sex)sex;
- (Sex)sex;
@end @implementation Student
// sex的set和get方法的实现
- (void)setSex:(Sex)sex {
_sex = sex;
}
- (Sex)sex {
return _sex;
}
@end int main() {
// 创建一个学生对象
Student *stu = [Student new];
// 调用stu对象性别的set方法
[stu setSex:SexMan];
// 调用stu对象性别的get方法
NSLog(@"%d", [stu sex]); return ;
}

iOS之05-三大特性之封装的更多相关文章

  1. java提高篇(一)-----理解java的三大特性之封装

    从大二接触java开始,到现在也差不多三个年头了.从最基础的HTML.CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过.失落过.寂寞过.虽然是半道出家但是经过自己的努力也算是完成了“学业” ...

  2. PHP其它常用函数;<<<面向对象(OPP)的三大特性:封装、继承、加态:>>> <----面试题 ;构造方法、析构方法,魔术方法、set、get方法;静态;抽象类;接口

    PHP其它常用函数:     赋值:$r->name = "元素";      取值: echo $r->name;  count()   计算数组中的元素数目或对象中 ...

  3. (转载)OC学习篇之---类的三大特性:封装,继承,多态

    之前的一片文章介绍了OC中类的初始化方法和点语法的使用,今天来继续学习OC中的类的三大特性,我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这个也是介绍类的时候,必须提到的话题,那么今 ...

  4. JAVA三大特性之一——封装

    自学java已经有一段时间了,但是感觉对于很多知识点还是有必要总结和整理一下,下面我就来说一下我对JAVA三大特性之一——封装特性的认识和理解. 封装,从字面意思可以看出来,就是包装,也就是把我们写好 ...

  5. (转)java提高篇(一)-----理解java的三大特性之封装

    从大二接触java开始,到现在也差不多三个年头了.从最基础的HTML.CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过.失落过.寂寞过.虽然是半道出家但是经过自己的努力也算是完成了“学业” ...

  6. java基础(一)-----java的三大特性之封装

    面向对象编程有三大特性:封装.继承.多态.本文将介绍java的三大特性之封装 封装 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成 ...

  7. Java三大特性:封装,继承,多态

    java提高篇(一)-----理解java的三大特性之封装 概念: 封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独 ...

  8. C++三大特性之封装

    原文地址:https://qunxinghu.github.io/2016/09/12/C++%20%E4%B8%89%E5%A4%A7%E7%89%B9%E6%80%A7%E4%B9%8B%E5%B ...

  9. Javascript面向对象三大特性(封装性、继承性、多态性)详解及创建对象的各种方法

    Javascript基于对象的三大特征和C++,Java面向对象的三大特征一样,都是封装(encapsulation).继承(inheritance )和多态(polymorphism ).只不过实现 ...

随机推荐

  1. 聊聊Android的APK反编译

    上一篇<How To Use Proguard in Android APP>介绍了如何对Android进行混淆,现在来对它进行反编译看看,里面有些什么东西. APK文件,其实也是一个压缩 ...

  2. Quartus ii 12.1软件破解之后编译原有的工程出现报警错误的解决办法

    在Quartus ii 12.1软件破解之后,想用来编译原来编译过的工程,但是编译到最后出现下面两个错误警告: 原来以为没有破解成功或者安装的时候有文件被杀毒软件吃了,导致安装错误,又重新安装了两次都 ...

  3. 整理 iOS 9 适配中出现的坑(图文)(转)

    作者:董铂然 本文主要是说一些iOS9适配中出现的坑,如果只是要单纯的了解iOS9新特性可以看瞄神的开发者所需要知道的 iOS 9 SDK 新特性.9月17日凌晨,苹果给用户推送了iOS9正式版,随着 ...

  4. inode

    硬盘的最小存储单位叫"扇区(sector)",每个扇区存储512字节(相当于0.5kb).系统读取硬盘时,只会读取多个sector即一个block.block 是文件存取的最小单位 ...

  5. Spring学习笔记—Spring之旅

    1.Spring简介     Spring是一个开源框架,最早由Rod Johnson创建,并在<Expert One-on-One:J2EE Design and Development> ...

  6. 二叉树学习笔记之B树、B+树、B*树

    动态查找树主要有二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree), 红黑树 (Red-Black Tree ), 都是典型的 ...

  7. 【JAVA之泛型】

    一.引例. 1.引例. 假设现在有一个ArrayList的容器,如果不使用泛型约束,则可以向容器中加入各种类型的对象,但是如果取出来的时候只是用一种类型的转换则肯定会抛出ClassCastExcept ...

  8. C# IIS应用程序池辅助类 分类: C# Helper 2014-07-19 09:50 249人阅读 评论(0) 收藏

    using System.Collections.Generic; using System.DirectoryServices; using System.Linq; using Microsoft ...

  9. jquery mobile 转场闪屏的解决

     jqm转场闪屏是用phonegap生成apk非常容易遇到的问题,暂时貌似还是没有完美的解决方案,网上暂时有一些方案,个人都尝试了一下发现还是改背景比较有效,总结如下: 改变默认css文件: .ui- ...

  10. [Tools] 设置surface上的VPN

    [背景] 继续前对机器进行配置安装,这次是VPN在win8上的设置,又跟xp不一样,看来要慢慢适应win8的日子,呵呵 [开工] 首先按照原先在win xp上的步骤一步步来配置 选择connect t ...