oc学习上自己遇到的问题

遇到问题:p只是一个指针,怎么能代表整个对象  , 操作上这样的语句[p  方法]让我理解不了?
 Car *p = [Car new];

        返回的是Car类型的地址,所以用指向Car类型的指针接收
       理解方式一:
        定义了一个Car类型的指针变量
        指针变量指向新申请的内存空间

       理解方式二:
        用Car类实例化了一个实例对象,对象的名称是p                               比较奇怪的是这二种说法竟然能统一起来,p是指针,也竟然是对象名,代表了创建的对象,难度只能硬记。
遇到问题02: 字符串后面跟的是0还是\0
多态实质要深入内存考虑,但仍有局限,比如你自己想想父类可以使用子类的特有方法,因为内存存在这个方法
父类不能使用子类的特有方法,原因却是编译检查的时候,一检查父类没这个方法就直接报错
self 可以用在对象和类方法中
1)self用在对象方法中:指代的时调用当前对象方法的那个对象 

2)self用在类方法中:指代的时当前类(实质是类对象)
总结:当self在方法中使用,谁调用这个方法,self指代的就是谁
时间: 2024-12-20 21:03:48

oc学习上自己遇到的问题的相关文章

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

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

黑马程序员-OC学习笔记之block

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9426    Accepted Submission(s): 4151 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做par

OC学习总结之面向对象和类

OC学习总结之面向对象和类 Objective-c是c语言的母集合,它的原意就是在原始的c语言的主体上加入面向对象的特性.1.面向对象和面向过程  面向对象和面向过程是编程的两种思考方式.面向对象,简称OOP,它是以事物为中心,参与事件的事物是核心,完成事件只是事物的一个小任务.面向过程,简称OPP,它是以事件为中心,事件是核心,列出了完成事件的每一个步骤,一步一步完成.也就是面向对象侧重于从问题在寻找客体.客体的作用.客体间的关系即“谁”.“做什么”.“怎么做”,面向过程侧重于问题的分解即“事

黑马程序员-OC学习笔记之NSString与NSMutableString

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSString与NSMutableString 相信大家对NSString类都不陌生,它是OC中提供的字符串类,它的对象中的字符串都是不可变的,而它的子类NSMutableString类的对象中的字符串就是可变的.什么是可变与不可变呢?二者的区别就是在已经创建的一个字符串对象中,在程序中能不能更改字符串,比如拼接新的字符串,可变的可以在原字符串中更改,

OC学习16——对象归档

转载自  OC学习篇之---归档和解挡 OC中的归档就是将对象写入到一个文件中,Java中的ObjectInputStream和ObjectOutputStream来进行操作的.当然在操作的这些对象都是需要实现一个接口:Serializable,同样的OC中操作的对象也是需要实现一个协议的,后面会说到. 一.已有类型的归档和解档 首先来看一个简单的例子: 1 // 2 // main.m 3 // 33_ObjectToFile 4 // 5 // Created by jiangwei on

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O

黑马程序员-OC学习笔记之autorelease与自动释放池

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.autorelease autorelease与release相似,是OC中的一个对象方法.这两个方法都能把对象的引用计数器减1,但是release是一个精确的减1,对对象的操作只能在release之前进行,如果是在之后,就会出现野指针错误:而autorelease是一个不精确的引用计数器减1,当给对象发送autorelease消息时,对象就会被放到自动

OC学习6——面相对象的三大特性

我们在学习Java的时候都知道,类有三大特性:继承,封装,多态,这也是面向对象的三大特征.OC学习篇之---类的三大特性(封装,继承,多态) 1.封装(Encapsulation)是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法来实现对内部信息的操作和访问(该隐藏的隐藏,该暴露的暴露).封装的主要目的是: 隐藏类的实现细节 让使用者只能通过预先定义好的方法来访问数据,从而可以在该方法中加入控制逻辑,限制对成员变量的不合理访问 可进行数据检查,从而有

OC学习篇之---总结和学习目录

今天终于把OC的基础知识学习完了,但是这些知识只是最基础的,还有很多高级知识,这个可能需要后面慢慢的去学习才能体会到.下面就是这次学习OC的目录教程,如果大家发现有什么不正确的地方,请指正,小弟是新生,多请OC老鸟来喷~~ 1.OC学习篇之---概述 2.OC学习篇之---第一个程序HelloWorld 3.OC学习篇之---类的定义 4.OC学习篇之---类的初始化方法和点语法的使用 5.OC学习篇之---类的三大特性(封装,继承,多态) 6.OC学习篇之[email protected]关键