OC之封装

iOS网络请求工具oc版,swift版基于AFNetworking的简单封装 1.为什么要封装 对于AFNetworking的使用,相信大多数的公司都会用到,毕竟开源框架,安全高效.为了提高效率和代码的可维护性,我们就要二次封装AFN. 2,以前遇到问题 一个老项目,需要进行IPV6的迁移(虽然老版本的AFN也支持IPV6),但是方法变了,之前没有封装AFN,项目中用到AFN请求的地方有很多,接口上千,那么AFN出现的地方就上千个.更新AFN后,不支持老方法了,需要用 阅读详情

一、面向对象和封装

面向对象的三大特性:封装(成员变量)、继承和多态

在OC语言中,使用@interface和@implementation来处理类。

 

@interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。

 

二、Set方法

在开发过程中,考虑到安全性要求,我们一般不在成员变量名前面使用@public、@protected等关键字修饰,而是使用Set方法来为对象提供成员变量的值。在set方法的内部也可以对一些不合理的赋值进行筛选过滤。

Set方法的作用:为外界提供一个设置成员变量值的方法

命名规范:

(1)方法名必须以set开头

(2)Set后面跟上成员变量的名称,首字母大写

(3)返回值一定是void

(4)一定要接收一个参数,而且参数类型需要和成员变量的类型一致

(5)形参名不能喝成员变量名一样(苹果官方推荐成员变量名前加_以示区分)

Set方法的好处:

(1)不让数据暴露在外,保证了数据的安全性

(2)对设置的数据进行过滤

Set方法使用示例:

Set方法的声明:

 

Set方法的实现:

 

测试程序:

 

三、Get方法

Get方法的作用:为调用者返回对象内部的成员变量

命名规范:

(1)一定有返回值,返回值的类型和成员变量的类型一致

(2)方法名和成员变量名一样

(3)不需要接收任何参数

Get方法使用示例:

Get方法的声明:

 

Get方法的实现:

 

测试程序:

 

 

注意1:在实际的开发中,不一定set和get方法都会提供,如果内部的成员变量比如学生的学号这样的数据只允许外界读取,但是不允许修改的情况,则通常只提供get方法而不提供set方法。

注意2:成员变量名的命名以下划线开头,get方法名不需要带下划线,使用下划线开头有两个好处:(1)与get方法的方法名区分开来;(2)可以喝一些其他的局部变量区分开来,下划线开头的变量,通常都是类的成员变量。

四、Self关键字

Self是一个指针,谁调用了当前方法,self就指向谁

【出现在对象方法中,就代表着当前对象,出现在类方法中,就代表着当前类】

Self的用途:

(1)可以利用self->成员变量名访问当前对象内部的成员变量(仅在对象方法中)

(2)[self 方法名];可以调用其他的对象方法或者是类方法

五、练习

要求:设计一个成绩类

 

实现:

 

测试程序:

 

OC封装继承多态演示 只是一个简单的小例子,演示了OC中的封装继承多态,在Windows下打成的zip压缩包 立即下载

相关推荐

告别理论!手把手教你用Patran/Nastran搞定机翼颤振分析(附完整模型文件)

本文提供了一份详细的机翼颤振分析实战指南,使用Patran/Nastran软件从零开始构建完整分析模型。涵盖几何建模、网格划分、模态分析到气动弹性耦合的全流程,特别适合航空航天领域工程师学习颤振分析技术。教程包含完整模型文件和实用脚本,帮助读者快速掌握这一关键飞行器设计技能。

weixin_30879169的博客 539

黑马程序员——OC中的封装

———Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——— 1、要进行封装的原因            不进行封装的缺点: 当一个类把自己的属性暴露给外部的时候,那么该类就失去对属性的管理权 。将数据隐藏起来,只能用此类的方法函数才可以访问或者设置数据,不可被外部任意存储是面向 对象设计本质。降低了数据被无用的可能性!          在OC语言中,使用

Anne_lov的博客 520

小白跑WRF第五天,安装WPS和静态地理数据

小白跑WRF第四天,安装WPS一、WPS简介二、下载和安装WPSV4.0第一步、进入Build_WRF文件夹第二步、下载WPSV4.0第三步、解压WPS安装包第四步、修改intmath.f(必须执行)第五步、安装WPS三、修改namelist.wps 一、WPS简介 二、下载和安装WPSV4.0 第一步、进入Build_WRF文件夹 cd Build_WRF 第二步、下载WPSV4.0 下载WPSV4.0的安装包有以下三种方式: 利用Linux命令下载。 进入网站https://www2.mmm.uca

weixin_42372313的博客 2万+

OC面向对象—封装

OC面向对象—封装 一、面向对象和封装 面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@interface和@implementation来处理类。   @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。   二、Set方法 在开发过程中,考虑到安全性要...

weixin_33749131的博客 189

【STM32】从零构建串口IAP框架:BootLoader与App双向跳转实战解析

本文详细解析了STM32串口IAP框架的构建,重点阐述了BootLoader与App双向跳转的实战原理与实现步骤。内容涵盖Flash分区规划、中断向量表重定向、通信协议设计及固件升级流程,并针对跳转失败、程序跑飞等常见问题提供了解决方案,帮助开发者掌握产品级远程升级的核心技术。

wind6的博客 838

蛋白质组学进阶指南 | (八)差异蛋白筛选与功能解析实战

本文是蛋白质组学差异蛋白筛选与功能解析的实战指南。详细讲解了如何利用R语言的limma包进行差异表达分析,结合FDR校正和差异倍数设定筛选关键蛋白,并通过火山图可视化结果。进一步介绍了使用clusterProfiler进行GO与KEGG功能富集分析,以及利用STRING数据库和Cytoscape构建蛋白互作网络以识别枢纽分子,最终串联分析形成可验证的生物学假说。

weixin_29208077的博客 738

OC 封装的概念

mian.m // //  main.m //  封装概念 //  屏蔽内部实现的细节,仅仅对外提供方法和接口 //  保证数据的安全性,将变化隔离 //  一般情况下,不会对外暴露对象的成员变量,即成员变量都需要封装起来 #import #import "Gun.h" int main(int argc, const char * a

jing__jie的博客 827

【笔记篇】Davinci Configurator OS模块(下)

AUTOSAR OS的配置项和Vevtor MICROSAR OS的特性

weixin_47571898的博客 1153

黑马程序员---iOS基础---OC中类方法和封装

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1.类方法描述 Objective-C中的类可以声明两种类型的方法:实例方法和类方法。 实例方法就是在一个类的具体实例范围内调用。也就是说在使用实例方法时候,必须先创建一个类的实例。 类方法不需要事先创建一个实例。 类方法开头是+表示,它不依赖于实力对象。 2.类

wodepei的博客 1820

【机器视觉】基于深度学习的托盘PCB识别与计数(有无、正反)

工业机器视觉是指在制造业和工业环境中使用计算机视觉技术来执行检测、测量、识别和控制任务。它结合了硬件(如相机、镜头、光源)与软件(图像处理算法)来自动完成传统上需要人工视觉的任务,从而提高生产效率、产品质量以及工作安全性。工业机器视觉系统通常具有高精度、高速度和高可靠性,能够适应恶劣的工作环境。

专注上位机开发、机器视觉、机器学习、嵌入式软硬件开发 1万+

从源码编译CesiumForUnreal

从源码编译CesiumForUnreal插件

专注GIS开发 5643

OC ---封装与方法

首先创建一个类, 包括类的声明和类的实现 初始化类中的实例变量:      1.重写init方法, init方法来自于根类.重写init方法时方法名与原本的init一样,只是在init实现中,对实例变量进行赋值. 但是重写init相当于只进行一次赋值,新建的对象的实例变量的初值都一样,一般不采用      2.自定义init方法,自定义方法以init 开头, 之后跟单词With. 注意:

wutuobang055的博客 476

Y-Branch and a closed y-branch loop

双臂后面的区域,我们将它的双臂使用一个波导进行了连接,使得它本身形成了一个闭合回路,因此,该结构被称作。它们均是用来对经过它们的光束能量进行分割的一种器件。首先,我们知道一点,在光波导层面,今天给大家介绍一下,什么是。

u011699626的博客 627

OC 封装

一、面向对象和封装 面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@interface和@implementation来处理类。   @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。   二、Set方法 在开发过程中,考虑到安

lanxiaoni的专栏 520

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

IOS学习-02 OC--封装、继承、多态

/ 成员变量方案修饰符问题1、@public: 公有 - 在类内类外都可以使用并且可以被继承2、@private: 私有 - 在类内可以使用,类外无法调用,并且不可被继承3、@protected: 受保护 - 在类内可以使用,类外无法调用,并且可以被继承4、 @package: 框架权限 - 在框架内相当于受保护,在框架外相遇私有。// 方法没有访问修饰符。

danfengw的博客 587

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

OC 类的封装 set方法和get方法

封装的目的是为了实现程序代码设计上的高内聚,低耦合性。类似我们生活中,看电视使用的“接口”-- 遥控器, 可以对电视机进行操作。至于电视机的内部构造原理,我们是不需要知道的。电视机的生产商也不希望我们知道。 哪个人切换频道时要到电视机上把两根线“短路”一下呢,这个技巧掌握不好,可能人和电视机一起就挂掉了!!!而我们又确实要对电视机进行相关操作来修改电视机运行状态和数据。所以电视机的生产厂商给我提供

伟的专栏 872

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

OC方法的封装与方法缓存底层核心

More reading and learning to become excellent 238

iOS OC和JS的交互 javaScriptCore方法封装

一、javaScriptCore javaScriptCore是一种JavaScript引擎,主要为webKit提供脚本处理能力,javaScriptCore是开源webkit的一部分,他提供了强大的整合能力.下面以JS调用OC方法为例,OC调用JS为例说明. JSContext, JSContext是代表JS的执行环境,通过-evaluateScript:方法就可以执行一JS代...

dengguigu1986的博客 183

OC 学习记录,隐藏和封装

疯狂iOS讲义,隐藏和封装

zdsey的博客 334

OC中类的三大特性:封装、继承和多态

OC是一门面向对象的变成语言,具有面向兑现的最基本的特征:封装性、继承性、和多态性。 一.封装 为何要用封装? 当定义了一个类时,类中的数据不允许外界访问,或者允许外界只能读取不能修改而需要隐藏时,就需要用到 set方法或者get方法。 1.OC中的set方法 作用:提供外界设置成员变量值,对参数进行过滤 规范: 1>方法名必须以set开头,后面跟上首字母大写的成员变量的名称 2>

ACGJUN的专栏 961

「OC」 封装

一、面向对象和封装   面向对象的三大特性:封装、继承和多态   在OC语言中,使用@interface和@implementation来处理类。      @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。 二、set方法   在开发过程中,考虑到安全性要求,我们一般不在成...

weixin_30687587的博客 75

IOS学习之OC面向对象—封装

一、面向对象和封装 面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@interface和@implementation来处理类。   @interface就好像暴露在外面的时钟表面,像外界提供展示以及接口。@implementation就好像隐藏在时钟内部的构造实现,把具体的实现封装了起来。   二、Set方法 在开发过程中,考虑到安

南北雪树的专栏 546
上一篇: OC之内存管理
下一篇: OC之继承
Shicuf
博客等级 码龄16年 11粉丝 66原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值