<<黑马程序员>>OC编译器特性

点语法

特性:点语法的本质就是方法调用

成员变量的作用域

① public :在任何地方都可以访问成员变量

在函数中可通过变量名来访问成员变量

② private:表示私有,只能在当前类的对象方法中直接访问成员变量

( @implemnetation中默认是@private(子类中不可访问))

③ protected :可以在当前类和子类及其子类的对象方法中直接访问

( 默认就是protected在interface)

④ package:只要处在同一个框架中,就能直接访问对象的变量。

property 和 synthesize 的使用

① property 可以自动生成set方法的声明

② synthesize 可以自动生成get方法的实现

synthesize的使用细节

1 @synthesize  age = _age

  ① set和get实现中可以访问成员变量 _age;

  ② 如果成员变量不存在就会自动生成一个 _age的成员变量,

      成员变量是@private类型的

2 @synthesize  age

   ① set和get实现中可以访问成员变量 _age;

    ② 如果成员变量不存在就会自动生成一个 age的成员变量, 

    成员变量是@private类型的

手动实现

  ① 若手动实现了set方法,编译器就会给我们生成set方法

  ② 若手动实现了set方法和get方法编译器就不会给我们生成不存在的成员变量。

id类型

 定义:万能指针,可以操作所有的OC 对象。

时间: 2024-08-04 19:28:41

<<黑马程序员>>OC编译器特性的相关文章

黑马程序员-OC学习笔记之Foundation框架NSNumber、NSValue和NSDate

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.NSNumber 前几篇笔记中,小桥复习了Foundatio框架中的几个类,这三个是OC学习的尾声了. 小桥已经复习过OC数组类NSArray,也说过它只能存放OC的对象,对于基本的数据类型确无能为力,但是实际编程中经常要把基本的数据如int.float,结构体存放的OC数组中,怎么办?这里的NSNumber就有用了,它能够把基本数据类型包装成OC对象.

黑马程序员-OC学习笔记之ARC

---------------------- IOS开发.Android培训.期待与您交流! ----------------------一.什么是ARC        ARC是自动引用计数,苹果官方在Xcode4.2及以后版本中加入的一个内存管理机制,完全取代了程序员人工的内存管理,使得程序员只须关心程序本身.使用ARC,编译器会自动在代码中加入内存管理代码,是一个编译器特性,而不是运行时特性,当然,它也和JAVA的垃圾回收不同,它的本质和手动的内存管理是一样的,只是这些代码编译器会自动添加.

黑马程序员-OC学习笔记之Foundatio框架集合类

---------------------- IOS开发.Android培训.期待与您交流! ---------------------- 一.OC数组 OC数组是一个类,它也分不可变数组NSArray和可变数组NSMutableArray. 1?不可变数组的创建 // 创建一个不可变数组,元素为一个OC字符串对象 @"小桥" NSArray *array1 = [NSArray arrayWithObject:@"小桥"]; // 创建一个不可变数组,元素为多个O

黑马程序员-OC面向对象继承关系和组合关系笔记

继承关系是描述类和类之间的关系,两个类分别称为子类和父类,子类继承了父类,子类就拥有了父类的属性和方法: 继承的关系特点描述出来就是:** "是" **  (例如:学生类 是 人类) 组合关系描述的语句是:**** "拥有" ***  (例如:学生有成绩这个属性,而成绩属性本来就是一个成绩类的对象 ) 继承示例代码: #import <Foundation/Foundation.h> //Animal类的声明 @interface Animal : NS

黑马程序员-oc对象的内存管理

oc没有java的垃圾回收机制,所以对象的内存释放很重要,基本数据类型,我们不用理会,编译器会处理: oc的每个对象内部都由一个计数器,用来记录当前有几个指针在指向该对象:当计数器为0时该对象会从内存中释放: 相关方法和概念: 1:retain:对象方法,调用该对象方法,计数器+1,有返回值,返回对象本身: 2:release:没有返回值,计数器-1: 3:retainCount:获取当前计数器的值: 4:dealloc:当对象被回收时,就会调用该方法,覆盖该方法时一定要调用[super dea

黑马程序员——oc语言学习心得—— 属性声明和赋值

黑马程序员——oc语言学习心得—— 属性声明和赋值 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 1,在oc中所有类继承与终极父类Object2,声明字符变量采用N是string  *_xxx 实例变量一般以下划线开头3,在oc中方法以+ -号区分 -号开头是实例方法或对象方法  +号开头是类方法  前置用对象调用 后者用类名调用4,在xcode4以后声明@property 不用在写@snysize  自动生成get.set方法5,属性

黑马程序员-OC内存管理 @property的增强

涉及到内存管理,只读,多线程等很多功能时,setter和getter方法也就没那么简单了:当然@property依然强大,很好用: 1:内存管理相关参数: *:retain:  (如果是oc对象类型),生成的setter会自动release旧值,retain新值: *:assign:(适用于非oc对象)  这个是默认的值 *:copy:release旧值,copy新值: @property (retain) NSString *name; // 同类型的参数不能同时写 // @property

黑马程序员-OC self super isa指针

self指针: self是oc面向对象设计中的一个特殊指针,相当于java中的this,但是比this强大,this只能访问实例对象的相关方法和成员变量,或者说this只代表实例对象: self不仅可以代表实例对象,还可以代表类对象:谁调用当前方法,self就代表谁:如果self用在了以"-"号的方法中,也就是对象方法中,那么就代表实例对象,若果在"+"号开头的方法中,self就代表类对象,因为只有类对象才能调用以"+"号开头的方法: self调

黑马程序员 oc与c的区别,联系

1.文件的扩展名的区别       1>c语言源文件的扩展名是.c,而oc的扩展名是.m       2>c语言经过编译之后得到的目标模块扩展名是.obj,而oc编译之后是.o       3>c语言目标程序与其他目标程序和库函数经过连接得到可执行文件的扩展名是.exe,而oc是.out2.两者的编程思想是不同的        c语言是面向过程的编程语言,oc是面向对象的编程语言3.oc语言对于c语言的拓展       oc是面向对象的编程语言,它的基本数据类型比c语言多了个bool类型