IOS基础入门OC语言Xcode Day10笔记:static关键字、封装、self关键字

1、static关键字
(1)C语言中的static
a、修饰局部变量
b、修饰全局变量
c、修饰函数

(2)OC中的static关键字
a、static不能修饰属性,也不能修饰方法
b、static可以修饰方法中的局部变量
如果方法中的局部变量被static修饰,这个变量就会变成静态变量存储在常量区,当方法执行完毕之后,不会回收,下次再执行这个方法的时候,直接使用,而不用再次声明

2、封装

@interface Student : NSObject
{
	int _number
	NSString *_name;
	int _age;
}

-(void)setNumber:(int)number;
-(int)number;

-(void)setName:(NSString *)name;
-(NSString)name;

-(void)setAge:(int)age;
-(int)age;

+(instancetype)student;//如果方法的返回值是当前类的对象,那么方法的返回值就写instancetype
 @end
//实现
@implementation Student
-(void)setNumber:(int)number
{
	_number = number;
}
-(int)number
{
	return _number;
}

-(void)setName:(NSString *)name
{
	_name = name;
}
-(NSString)name
{
	return _name;
}

-(void)setAge:(int)age;
{
	_age = age;
}
-(int)age
{
	return _age;
}
@end

3、self关键字
(1)在方法的内部可以定义一个和属性名相同的局部变量,这个时候,如果在方法中访问这个同名的变量,访问的是局部变量

(2)self:自己的;和Java、C#中的this关键字有些类似
可以在对象方法和类方法中使用,self是一个指针,在对象方法中self指向当前对象,在类方法中self指向当前对象,在类方法中self指向当前类

(3)self用在对象方法中
a、self在对象方法中,指向当前对象:谁调用对象谁就是当前对象
b、self指向当前对象的作用
可以使用self显示的访问当前对象的属性
self->属性 代表访问的是当前对象的这个属性
可以使用self来调用当前对象的其他对象方法
c、对象方法中使用self的场景

  1. 必须使用self的场景
    –>如果在方法中存在和属性名相同的局部变量
    如果想要访问同名的局部变量,直接写就可以了
    如果想要访问当前对象的同名属性,必须使用self
    –>在对象方法中,如果要调用当前对象的其他的对象方法,必须使用self
  2. 选用self的场景
    在方法中不存在和属性同名的局部变量,如果这个时候想要访问当前对象的属性,
    用不用self效果都是一样的,都是访问的当前对象的属性
    属性要求以下划线开头,局部变量不要求以下划线开头,按照这个规范来,实际上是不会重名的

猜你喜欢

转载自blog.csdn.net/wenyu_Saitama/article/details/107041152