A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© foolishlovepig 中级黑马   /  2016-1-6 18:28  /  488 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


//
//  main.m
//  总结.2day
//
//  Created by 晓 &zerone on 16/1/6.
//  Copyright © 2016年 xiao. All rights reserved.
//
/*
1.对象的存储细节:
    ① 在使用new这个方法的时候就会把类的代码加载到代码区(注意:只会在第一次的时候进行加载);
    ② 在类的代码加载完成以后会在堆区开辟一块内存空间,然后根据类的模板创建一个对象存在堆里面开辟出来的内存空间,这个对象里面含有的一个isa指针,它指向类在代码区的地址;
    ③ 把创建好的对象传给在栈区定义好的变量,这个变量要用类名取进行定义;

2.#pragma mark指令:
    格式:#pragma mark  - 自定义名称(一般为类的名字,主要就是要便于自己的理解)

3.函数和对象方法的区别:
    1)相同点.
        ①.都是把一段代码封装起来,表示一个独立的功能;
        ②.函数和方法只要被调用了,就会自动执行里面的代码;

    2)不同点.
        ①.语法不一样;
        例如:
            函数: void sum (int num1, int num2);
            方法: -(void)sum:(int)num1 andSum:(int)num2;
        ②.定义的位置不一样;
            函数除了在函数内部和@interface的大括号里面,其他地方都可以写,当然函数还可以写在类中,虽然可以,但是没有什么意义,所以不建议写;
            而OC的方法声明只能写在@interface 和@end之间,大括号之外;实现只能写在@implementation和@end之间;
        ③.调用的方式不一样;
            函数都可以随意调用,只要先声明了;而方法只能通过这个方法的对象来调用;(个人觉得,之所以只能通过对象来调用是因为,对象的方法存在代码区的类中,而只有通过创建的对象才能得到方法的地址,不然无法使用方法)
        ④.关系也不一样
            函数是独立的,不属于谁;
            方法是属于类的,有一个归属;

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马