OC三大特性之一:封装的介绍

Vivado与Vscode无缝集成:高效Verilog开发环境搭建指南 本文详细介绍了如何将Vivado与Vscode无缝集成,打造高效的Verilog开发环境。通过替换Vivado默认编辑器为Vscode,配置必备插件和语法检查工具,开发者可以大幅提升FPGA项目的编码效率。文章还提供了代码片段、Testbench自动生成等高级技巧,帮助开发者快速上手这一集成方案。 阅读详情

一、封装

学习过Java中类的同学可能都知道了,封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能,Java中有四种访问权限修饰符:public,default,protected,private,访问权限一次递减的,这样我们在定义类的时候,哪些字段和方法不想暴露出去,哪些字段和方法可以暴露,可以通过修饰符来完成,这就是封装,下面来看一个例子吧:

Car.h

[objc]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. //  Car.h  
  2. //  05_ObjectDemo  
  3. //  
  4. //  Created by jiangwei on 14-10-11.  
  5. //  Copyright (c) 2014年 jiangwei. All rights reserved.  
  6. //  
  7.   
  8. #import <Foundation/Foundation.h>  
  9.   
  10. @interface Car : NSObject{  
  11.     //这个属性就是对外进行保密的相当于private,所以我们需要在外部访问的话,必须定义get/set方法  
  12.     //默认的是private的,但是我们可以使用@public设置为public属性的,那么在外部可以直接访问:person->capcity = 2.8;  
  13.     //当然我们一般不这么使用,因为这会破坏封装性,这种用法相当于C中的结构体中权限  
  14.     //一共四种:@public,@protected,@private,@package,这个和Java中是相同的  
  15. @public  
  16.     float _capcity; //油量属性  
  17. }  
  18.   
  19. - (void)run:(float)t;  
  20.   
  21. @end  
这里我们可以看到,OC中也是有四种访问权限修饰符:

@public、@protected、@private、@package

其中默认的修饰符是@private

但是这里要注意的是:OC中的方法是没有修饰符的概念的,这个和Java有很大的区别,一般都是公开访问的,即public的,但是我们怎么做到让OC中的一个方法不能被外界访问呢?

OC中是这么做的,如果想让一个方法不被外界访问的话,只需要在.m文件中实现这个方法,不要在头文件中进行定义,说白了就是:该方法有实现,没定义,这样外界在导入头文件的时候,是没有这个方法的,但是这个方法我们可以在自己的.m文件中进行使用。

为什么要介绍这点知识呢?因为在后面我们会说到单利模式,到时候就会用到这个知识点了。

【Unity】NGUI下载与导入 Unity3D插件NGUI的下载和导入。 阅读详情

相关推荐

深入解析路科验证V0实验lab1:SV接口与时钟块实战

本文深入解析了路科验证V0实验Lab1的核心内容,重点阐述了SystemVerilog接口与时钟块在验证环境搭建中的关键作用。通过拆解router_io接口设计、时钟块同步机制及程序块封装,详细讲解了如何构建稳定可靠的验证通信基础,并提供了复位时序分析与常见调试技巧,为后续复杂验证打下坚实基础。

peach的博客 430

OC语言三大特性

三大特性为:封装,继承,多态 一、封装(成员变量的封装)     1. set方法(提供一个方法,让外界设置成员变量的值,可以在方法里面对参数进行过滤)         命名规范:1>方法名必须以set开头 2>set后面跟上成员变量的名称,成员变量首字母必须大写 3>返

wl635512958的专栏 1836

TwinCAT3入门教程3——PLC程序变量定义和硬件IO关联

目录 1、IO输入输出变量定义和硬件关联 1.1 IO输入 1.2 IO输出 1.3 PLC变量和IO模块关联 1.4 测试IO输出点 2、伺服变量关联 1、IO输入输出变量定义和硬件关联 1.1 IO输入 添加全局变量IO_Global 变量定义 (*==========================================IO输入===============================================================*)

panjinliang066333的博客 1万+

OC中的属性特性(Property)

特性(Property) 使用特性我们可以避免手工编写繁琐的setter 和 getter方法,避免因为这些方法来内存的问题,同时也节省编写代码的时间。@property 新的编译器指令,主要功能是为我们自动“生成”,setter和getter方法的声明。(注意:我们是看不到这些代码的)@synthesize 与@property相对应的新的编译器功能。主要是为我们自动生成,setter和g

王绵杰的个人博客 1655

ADI官方例程HDL和No-OS生成Vivado工程

这一步是选择下载源,一般都是选择国内镜像,因为国外的源太慢了,这里选择阿里的镜像,如果没有这个选项可以在下面的User URL里添加就行,选择好源后然后点击下一步。下一步会从你选择的源上下载软件包目录,如果提示Unable to get setup from https://xxxxxx/,返回上一步,选择别的源,例如第二个163网易的源。然后就是你想要安装在哪了,下面的选项好像会决定环境变量存放在哪,不过一般都是个人电脑选择第一个默认的就行,然后点下一步。下好之后双击打开,就是这个界面了,直接点下一步。

代码匠的博客 3832

交叉验证选型指南:k折、留一法、时序与分层CV实战决策

交叉验证是评估机器学习模型泛化能力的基础技术,其核心在于通过系统性数据重划分,缓解有限样本对真实分布估计的偏差。原理上,它通过控制训练-验证数据的独立性与代表性,诊断过拟合风险并提升性能指标的稳定性。技术价值体现在避免单次切分导致的结果偶然性、数据利用低效及验证集污染等问题。典型应用场景涵盖分类任务中的类别不平衡处理、时间序列预测的因果约束、用户行为建模中的数据泄露防控等。本文聚焦k折交叉验证、留一法、时间序列交叉验证与分层抽样等主流方法的适用边界与工程落地要点,结合过拟合诊断和泛化能力评估两大热词,提供可

dienangpiao2051的博客 477

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

从大二接触java开始,到现在也差不多三个年头了。从最基础的HTML、CSS到最后的SSH自己都是一步一个脚印走出来的,其中开心过、失落过、寂寞过。虽然是半道出家但是经过自己的努力也算是完成了“学业”。期间参加过培训机构,但是极其不喜欢那种培训方式,于是毅然的放弃了选择自学(可怜我出了6000块钱啊),虽然自学途中苦很多,但是乐更多,当中的付出和收获只有自己知道。黄天不负有心人,鄙人愚钝,在大四...

chenssy 的技术博客 939

sec_uid

webcast_uid转sec_uid,webcast_uid转uid,webcast_uid转dy号

m0_56967679的博客 4421

黑马程序员4 -- os面向对象和三大特性

继续上次的oc面向对象的学习

kakamuz的专栏 524

Vivado报错-4 [Routed 35-3424] SLL Assignment failed ILP VU19P

Vivado报错[Routed 35-3424] SLL Assignment failed ILP VU19P

weixin_39896700的博客 1409

《QT+PCL 第一章》:点云读取显示

点云读取显示一、核心代码二、QT设置三、效果展示 一、核心代码 二、QT设置 三、效果展示

阁楼 1万+

OC-3-三大特性:封装

------- CornerFly真诚期待与您交流! ----------   面向对象的三大特性包括封装、继承、多态。 一、封装 在编程的过程中,有时候我们需要在给成员变量赋值的时候,对赋的值进行过滤掉不合理的值,因为在方法中可以调用成员变量,通过提供一些方法给成员变量设置值或者获取成员变量的值,把内部的成员变量和结构保护起来,这就是面向对象中的封装。 二、

wushashawin的博客 1108

WblockCloneObjects克隆一个图纸内的实体包括块参照,同名块参照的处理

public static void HeBingTu2(double lieJu, List<string> filePaths) { Document doc = Application.DocumentManager.MdiActiveDocument; Database db = doc.Database; using (DocumentLock docLock = doc.Lock...

1108

OC三大特性之封装

一、面向对象和封装 1.面向对象的三大特性:封装(成员变量)、继承和多态 在OC语言中,使用@interface和@implementation来处理类。 2.封装:封装是对象和类概念的主要特性。它是隐藏内部实现,稳定外部接口,可以看作是“包装”。 封装,也就是把客观事物封装成抽象的

VicenteZ 434

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

ACGJUN的专栏 961

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

OC三大特性

面向对象有三大特征,它们分别是封装、继承、多态。下面我就这几大特征做一个简单的说明。

qq_27016923的专栏 546

黑马程序员--07 OC 三大特性

三大特性:封装,继承,多态 #封装 #  @public的成员可以被任意赋值,这样数据通过 指针->成员变量名 方式给成员变量赋值,可能被赋值为不合理的数值具有危险性。通过封装后便可解决上述问题,封装的好处:过滤不合理的值,保证数据的安全性; 屏蔽内部的赋值过程;让外界不必关注内部的细节 不使用@public后,便不能通过指针->成员变量名 的方式给成

xizhengmeng的专栏 368

黑马程序员 5 oc三大特性

又是奋斗的一天,继续上次话题!!!

kakamuz的专栏 524

黑马程序员——OC三大特性(继承、多态、封装)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

jiongjiong_1的专栏 528

黑马程序员——OC三大特性----封装、继承、多态

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-封装@public的成员可以被随意赋值,这样会使代码不严谨,为了避免这种现象,OC采用了封装,将方法成员封装起来。这时需要使用set方法和get方法来管理成员的访问(类似机场的安检、水龙头过滤,过滤掉不合理的东西)。对于只读即只允许外界访问不允许其修改的变量采用get方法,允许外界访问,并在一定范围内修改变量采用s

qq_26989441的专栏 612

OC---三大特性

三大特性

sl_8s8的专栏 657

黑马程序员——OC三大特性之封装

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 封装:隐藏内部细节,提高安全性

want_heima的专栏 371

黑马程序员————oc三大特性

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1,封装简介 封装是对象和类概念的主要特性;是隐藏内部实现,稳定外部接口;封装就是对类中的一些字段,方法进行保护,不被外界所访问到。 2,关键字 @protected 实例变量可被该类及任何子类中定义的方法直接访问(默认的情况)。 @private 实例变量可被定义在该类的

bluedevils99的专栏 472

OC 封装

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

lanxiaoni的专栏 520

OC - 封装,继承,多态三大特性

文章目录封装继承多态 类有三大特性:继承,封装,多态。让我们来看一下这三大特性 封装 封装就是对类中的一些字段,方法进行保护,不被外界所访问到,有一种权限的控制功能 对一个累或对象实现良好封装,可以实现以下目的: 隐藏类的实现细节 让使用者只能通过事先预定的方法来访问数据,从而可以在该方法里加入逻辑控制,限制对成员变量的不合理访问。 可进行数据检查,从而有利于保证对象信息的完整性 便于修改,提高代码的可维护性 封装实际上有两方面的含义,把该隐藏的隐藏起来,把该暴露的暴露出来。 通过使用访问控制符来实现:

weixin_45841522的博客 417

黑马程序员——02OC三大特性

三大特性:封装、继承、多态 ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- #封装# set方法:在开发过程中,考虑安全性的要求,一般不在成员变量名前面使用@public、@protected等修饰关键字 而是使用set方法来为对象提供成员变量的值。同时可以在set方法内部对一些不合理的赋值进行筛选过滤。 set方法的作用总结:

ssf1818的专栏 503

OC基本语法、类和对象、三大特性

第一讲 OC简介及基本语法 Objective-C简称OC是在C语言的基础上,增加了一层最小的面向对象语法,完全兼容C语言,也就是可以在OC代码中混入C语言代码,甚至是C++代码。可以使用OC开发Mac OS X平台和IOS平台的应用程序。简单的介绍了一下OC,下面我们来看看OC的基本语法,学习OC之前我们先学习了C语言,因为OC是在C语言的基础上的一门开发语言...

anzhanao7195的博客 688
上一篇: OC三大特性之一:多态的介绍
下一篇: 【OC语法】#import和#include的区别
iOS_houyimin
博客等级 码龄11年 1粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值