类和对象

来源:互联网 发布:python 股票分析 编辑:程序博客网 时间:2024/05/29 02:55
声明部分也叫接口部分,接口部分以@interface开头,以@end结尾,其结构如下:
@interface 类名 : 父类名

@end
注意事项:1、在定义类的时候,类名首字母要大写
                  2、定义一个类分两部分:接口部分和实现部分
类在描述的时候分为特征和行为:
1、特征对应的是实例变量:实例变量在定义的时候需要注意三个方面:1)实例变量必须放到大括号中定义
       2)在定义实例变量的时候,变量名前最好加下划线  3)实例变量变量名符合命名规范  ;实例变量有可见度的概念,默认的是@protected,可见度有三种:@public(任何人都可以访问)、@protected(只有自己和子类可以访问)、@private(只有自己可以访问)
2、行为对应的是方法:方法分为两种:类方法(+)和实例方法(-)
实现部分是以@implementation开头,以@end结尾,其结构如下:
@implementation 类名

@end
NSLogOC里面的打印函数,自带回车;想当与C语言里面的printf;
消息发送机制[receiver message],OC中调用方法使用中括号[],其实所谓的调用方法,就是消息发送机制
        // alloc方法是NSObject的方法,系统已经实现好了,只需要调用该方法就可以实现分配内存空间
       // alloc方法是类方法(+),在调用的时候必须用类名来调用
       
// alloc方法在调用之后,有返回值,返回值是对应的实例类型,供外界使用
        // init方法:是实例方法(-),在调用的时候使用对象名来调用
        // init方法调用完之后有返回值,返回值是对象本身
类是具有相同特征和行为的事物的抽象,对象是类的实例,OC中所有的对象都在堆区,但是需要在栈区创建一个指针指向对象(存储的是对象的首地址);OC中创建对象分为两步:分配内存空间和初始化,1)分配内存空间:所分配的内存空间在堆区,2)初始化:将里面的内容清零,为实例变量赋值
定义的p对象,实例变量是没有值的,在定义对象的时候,分为两步:分配内存空间和初始化,二初始化的目的是给实例变量赋值,既然系统给我们提供的init方法没办法满足需求,那么我们需要自己重写init方法实现需求。
类和文件的关系:类和文件没有本质的关系,一个文件里可以定义多个类,文件名也可以和类不一致,只不过在使用类的时候,需要引入该类所在的头文件(.h 文件)。
类是对象的抽象,是概念或者是模板,而对象是类的具体实现,属于类;类描述这类事物应该具有哪些行为和特征,而对象真正去实现这些行为和特征。
0 0
原创粉丝点击