属性和点语法(16.5.9)

self和super关键字:

self指对象本身,用来调用对象自身的方法;

super是对象的父类,用来调用父类的方法;

id与nil:

id:用于表示任何类型的对象;

id在使用时不需要*符号,因为已被预定义为指针类型

nil:表示空对象,通常用于对象赋初值;

nil,可以响应方法请求而不会导致异常;

@class和#import:

#import会包含这个类的所有信息,包括实体变量和方法,

@class用于声明类的名称,不包括实体变量和方法;


Property 属性

property属性功能:简化设置器和访问器。通过两个关键字@property、@synthesize

@synthesize:只有当访问器或设置器不存在,才会自动生成。

在@property()括号中,可以填写的属性:

actomic:原子性(默认)

nonatomic:非原子性

atomic是oc中的一种线程保护技术,是防止在未完成的时候,被另外一个线程使用,造成数据错误。

readwrite:默认

readonly:只读

assign:默认,引用计数不增加

retain:引用计数增加1

strong:强引用,引用计数增加1

weak:弱引用,引用计数不增加

strong与weak是ios5.0以后增加的属性


点语法

点操作在“=”右边是调用属性的访问器;

点操作在“=”左边是调用属性的设置器;

如:

stu.age = 27; 等效于[stu setAge:27];(设置器)

int myAge = stu.age;等效于 int myAge = [stu age]; (访问器)


方法重载:

条件:定义一个同名的方法,新方法必须具有相同的返回类型,且参数个数与重载的方法相同。


权限控制:

实例变量作用域范围在这个类体内,默认继承的成员可以直接使用

oc默认是protected

oc中只支持单继承



你可能感兴趣的:(ios,Objective-C)