Objective-C类与对象

    这是本人在学习Objective-C语言过程中所做的一些笔记,如果有错误或者笔误的话,欢迎各位朋友批评指正。  

  Objective-C是C语言的扩展集,是一门面向对象的语言。

    那我们在Objective-C中是如何定义类的呢?请看:

//类的声明
@interface 类名 : NSObject
{
    属性
}
    方法的声明
@end

//类的实现
@implementation 类名
    方法的实现
@end

    在方法的声明中,有参数和无参数的有什么区别呢?请看:

//无参数方法的声明
-(返回值类型)方法名;

//1个参数方法的声明
-(返回值类型)方法名WithXXX:(参数类型)参数名;

//多个参数方法的声明
-(void)方法名WithXXX:(参数类型)参数名 andXXX(参数类型)参数名;

    对象的创建,请看:

类名 *对象名 = [类名 new];
    对象拥有类中定义的所有成员。


    内存中的五大区域:

        1.栈:存储局部变量

        2.堆:存储手动申请的字节空间

        3.BSS段:存储为被初始化的全局变量、静态变量

        4.数据段(常亮区):存储已被初始化的全局变量、静态变量、常量数据

        5.代码段:存储代码


    类加载:1.创建对象是,肯定是可以访问类的;

                 2.声明1个类是,指针变量也会访问类。

        程序运行时,当类第1次被访问时,会将这个类存储到内存中的代码段,这叫类加载,直到程序结束,才会被释放。

    对象在内存中是如何存储的呢?请看:

        1.在堆内存中申请1块合适大小的空间;

        2.在这个空间中根据模板创建对象;

        3.初始化对象属性

            属性类型为基本数据类型,赋值0;

            属性类型为C语言指针时,赋值NULL;

            属性类型为Objective-C的类指针时,赋值NIL;

        4.返回对象的地址。

    对象只有属性,没有方法。

    要访问对象的属性,可以通过以下的方式:

    指针名->属性名

    要调用方法,可以通过以下的方式:

    [指针名 方法名]


猜你喜欢

转载自blog.csdn.net/LEO_ANDERSON/article/details/80666924