*的区别
来源:互联网 发布:linux 建立目录 编辑:程序博客网 时间:2024/06/05 01:59
1. nsset * s = [ nsset set]
2. person * p = [[person alloc]init]
在2中,是我们经常用的给一个新的对象开辟一个存储空间。先调用person的alloc类方法
在内存中开辟一出一个内存空间。并把这个空间命名为p,并且把person的指针指向p,这样p就获得了person类中定义的所有对象方法。(也包括他的父类的对象方法。)
在1中,nsset 调用自己的类方法(set)。并将其赋予了s,s接受了nsset的指针,并获得了来自nsset类中的所有对象方法。
= 等号的赋予,应该是指效果上的赋予。比如2中,是把开辟出来的内存空间,这个效果赋予了p。
同理,在1中,s只是获得了 nsset通过调用set这个类方法后产生的效果和产物。给予给了s。并不代表s通过这样类方法被赋予了方法。
过去可能有的误区:
(类名class*对象object)不是每一次有对象就必须有个自己的空间,这样才能实现类中的对象方法的调用。并非是如此。在1中,s同样继承了类的对象方法。开辟一个内存空间并不是所有对象产生的第一步。
只要通过类方法的调用后,对象就会产生,并得到这个类方法所产生的效果和产物。
```````学习中想不通的地方,自己辩解了一下。不知道对不对。随手写了想法吧
2016.4.5
---------------------------------------
是不是因为set的类方法中已经把alloc这个类方法封装进去了。在调用时看不到而已。
之前的说法感觉解释不通,如果没有这样开内存给对象,后面的调用对象方法产生的数据要如何去保存?
可能set类方法中已经把alloc封装进去,同时init初始化的时候给予了自己需要的方法和效果。 毕竟nsset也是继承自nsobject。
````自学好累```
- *的区别
- 的区别
- $ # %的区别
- . / .. ~的区别
- $ # %的区别
- >>>,>>的区别
- / ./ ../的区别
- ./ ../ /的区别
- / ./ ../的区别
- //& && 、| || 的区别
- / ./ ../ 的区别
- 注释区别???/与//的区别
- &和&&的区别 |和||的区别
- &&和&的区别,||和|的区别
- &和&&的区别以及|和||的区别
- &&和&的区别? | | 和|的区别?
- &和&&的区别,|和||的区别
- int 和 Integer 的区别区别
- javascript属性类型
- MyBatis知识系列之二:针对MyBatis的CRUD操作
- Android-银联支付
- greenDao简单使用
- 杭电5625 Clarke and chemistry
- *的区别
- 【light-oj】-大数整除(字符串)
- ddwrt+wifidog搭建热点认证系统(无线路由器web认证)
- android studio下的NDK开发详解(一)
- 【自定义标签开发】01-标签简介和开发第一个标签
- (终极)java中自己的一写迷茫的地方(未完)
- java 中的观察者模式
- Activity 的介绍和使用(一)
- iOS开发拓展篇—xib中关于拖拽手势的潜在错误