OC 整理 2

*  实例变量的可见度 : 一共三种

@public :公共的,在任何文件中都可以访问.(访问方式是通过对象+指向操作符 + 实例变量,例如:per->Name).

@protected :受保护的,有一定的访问权限,只允许在本类文件以及子文件中访问,其他文件不可访问.

@private:私有的,只允许在本类文件中访问,不可以在子文件以及其他文件访问.

默认的可见度是@protected

0.0 ... ...为什么不声明为@public?

1, 声明为@public的实例变量,外部就可以访问以及修改,会影响内部的一个实现,暴露实现细节

2, 违背oc面向对象三大特征之一---封装(封装的思想是隐藏内部实现,提供外接访问的接口)

0.0 ... ...为什么不声明为@private?

1, 声明为@private的实例变量,子类文件访问不到,所以子类文件还需要重新定义声明

2, 违背了oc 面向对象特征之一-----继承(父类有的东西,子类也有,可访问).

//+ 号方法不能使用实例变量...

//实例变量是依托于对象存在的,只有有了对象,实例变量才会有空间.

//self 谁调用该方法 self 就是代表谁.

//当方法是以 - 号方法时, 调用该方法的对象是谁,self就代表当前对象,

//当方法是以+ 号 方法时,调用该方法的类是谁,self就代表当前类

return self;

OC 整理 2

时间: 2024-08-07 19:13:50

OC 整理 2的相关文章

OC 整理 1

*  面向过程编程(Procedure Oriented programming) * :以事件为中心,关心完成该事件的详细步骤,一步一步如何实现 面向对象编程(Object oriented programming) 以事物为中心,也就是参与事件的参与者,设计事物的功能,而完成事件,只是事件的所有功能中的一个小功能 //消息发送机制 //[ receiver   Message (消息 , 相对于方法) ] //receiver :消息的接收者,   类 或者 对象 // Message :

OC 整理 3

//#import "Women.h" @class Women;//把后面的women 当成字符串,不当成类 . //Unknown type name "women" //不能识别的类型women //原因:#import 头文件时. 会将头文件中的内容复制一份,而当使用women 这个类时.给雷还未定义, 所以识别不了.典型的循环导入问题 //解决:使用该类时不能把它当做一个类来使用,所以在.h文件中使用@class women ;将women声明为一个字符串

OC整理1

关于面向对象 看起来简单,好好体会其实有点深奥,初学的时候更感觉抽象,可能由于开发经验不足的关系吧,很难体会到面向对象的精髓. 放轻松,我们来用最直白得方式来探讨一下面向对象. 首先,编程是为了用计算机解决现实生活中的问题,或者模拟各种游戏情景提供娱乐. 面向过程编程是一种思维——知道做一件事的具体步骤,按流程一步一步的执行,致力于问题解决的具体实现步骤. 而我们今天要提起的面向对象也是一种思维方式——是一种模拟人类行为,思考的方式寻求最直接的途径解决问题. 为了说明这一点呢,我们一起来看看我们

IOS开发-OC学习-常用功能代码片段整理

IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是在做与URL有关的功能时,需要在Info.plist中添加一段代码进而实现让网址完成从Http到Https的转换,以及其他的一些功能. 在从一个新手到逐渐学会各种功能.代码.控件.方法如何使用的过程中,也在逐渐积累一些知识,但是一次总不会把这些东西都深刻记住并完全理解.所以在这儿记录下这些东西,用来

我收录整理的优秀OC技术类文章

自定义导航按钮UIBarButtonItem 关于导航栏的六个小技巧 ios开发的一些小技巧篇一 制作一个可以滑动操作的 Table View Cell - IOS - 伯乐在线 一个iOS开发者的修真之路 - IOS - 伯乐在线 iOS性能优化 - IOS - 伯乐在线 block没那么难(一):block的实现 - 作业部落 Cmd Markdown 编辑阅读器 ARC 下内存泄露的那些点 - 作业部落 Cmd Markdown 编辑阅读器 产品经理日常工作职责分析与整理 - 大宝 - 博

OC 字符串操作整理

1 // 2 // main.m 3 // StringMK 4 // 5 // Created by LXC on 16/1/7. 6 // Copyright © 2016年 LXC. All rights reserved. 7 // 2016年01月07日23:51:29 8 // 9 10 #import <Foundation/Foundation.h> 11 12 int main(int argc, const char * argv[]) { 13 @autoreleasep

OC内存管理相关整理

OC内存管理 一.基本原理 (一)为什么要进行内存管理.内存管理的目的是什么? 由于移动设备的内存极其有限,所以每个APP所占的内存也是有限制的,当app所占用的内存较多时,系统就会发出内存警告,这时需要回收一些不需要再继续使用的内存空间,比如回收一些不再使用的对象和变量等. 管理范围:任何继承NSObject的对象,对其他的基本数据类型无效 管理目的: 1.不要释放或者覆盖还在使用的内存,这会引起程序崩溃: 2.释放不再使用的内存,防止内存泄露.(ios程序的内存资源很是宝贵.) 本质原因是因

OC调用Swift 整理步骤!总结别人的!方便自己查找!

1. 2. 上面的修改了一个配置项,有一个Product Module Name在后面会使用. 在工程里面点击File/New/File…,选择iOS/Source/Cocoa Touch Class,按照如下填写创建一个新的文件:  上图中的Subclass of一定要设置为NSObject或其子类,否则OC工程将不会找到该类. 点击确认后会选择保存路径,点击Create,出现如下界面:  这个界面是询问是否创建桥接的头文件,这个文件在Swift调用OC代码的时候比较管用,但是在OC中调用Sw

OC-NSArray随意整理

//        NSArray *arr = @[@1,@2,@3,@4];  这个不可变数组不行 //1.可变数组 NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil]; //2.不可变数组 NSArray *arr1 = @[@"a",@"b"]; NSArray *a = @[@2,@23]; NSA