本帖最后由 张传宾 于 2015-1-17 18:22 编辑
【李老师视频】OC---面向对象---核心语法---类的深入研究03 类的加载与初始化中:类方法+(void)load与+(void)initialize 。
说这俩类方法是在程序启动时类加载的时候执行的类方法,顺序是父类——>子类。
那么问题来了:
既然父类、子类都有这个方法,为啥不是子类重写了父类的这个方法呢?
:(:):(*
*
*
这是个白痴问题。。。我已经解决啦。。。
*
*
*
昨晚看晕乎了,所以问的这个白痴问题。。。
*
*
*
下面是我今儿想通了的答案,请指教。。。
“就算是理解成重写了,也能说的通呀,你想,,程序一启动,每个类都会自定加载+load这个方法、父类加载父类的+load,子类加载子类的+load,就算子类重写了+load,也不会影响父类加载时使用自己的+load呀。。。
另外,也可以理解成这两个方法是任意类都有的方法,在创建时系统自带的,当程序启动时,启动程序也是执行代码、而+load正是在这段代码当中,同理+initialize是使用时的代码里的一部分。。。。
我又想、这两个方法被重写成只有一句输出:“NSLog(@”@#¥%……&“);”的时候程序照样能执行,那么?原来的代码是干嘛用的呀?啥都没干嘛...
昨晚我晕了,以为重写后父类加载的时子类重写后的+load。。。猪猪猪——>我
|
|