IOS基礎入門OC語言Xcode Day10筆記:static關鍵字、封裝、self關鍵字

一、static關鍵字
(1)C語言中的static
a、修飾局部變量
b、修飾全局變量
c、修飾函數web

(2)OC中的static關鍵字
a、static不能修飾屬性,也不能修飾方法
b、static能夠修飾方法中的局部變量
若是方法中的局部變量被static修飾,這個變量就會變成靜態變量存儲在常量區,當方法執行完畢以後,不會回收,下次再執行這個方法的時候,直接使用,而不用再次聲明svg

二、封裝函數

@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

三、self關鍵字
(1)在方法的內部能夠定義一個和屬性名相同的局部變量,這個時候,若是在方法中訪問這個同名的變量,訪問的是局部變量this

(2)self:本身的;和Java、C#中的this關鍵字有些相似
能夠在對象方法和類方法中使用,self是一個指針,在對象方法中self指向當前對象,在類方法中self指向當前對象,在類方法中self指向當前類spa

(3)self用在對象方法中
a、self在對象方法中,指向當前對象:誰調用對象誰就是當前對象
b、self指向當前對象的做用
能夠使用self顯示的訪問當前對象的屬性
self->屬性 表明訪問的是當前對象的這個屬性
能夠使用self來調用當前對象的其餘對象方法
c、對象方法中使用self的場景指針

  1. 必須使用self的場景
    –>若是在方法中存在和屬性名相同的局部變量
    若是想要訪問同名的局部變量,直接寫就能夠了
    若是想要訪問當前對象的同名屬性,必須使用self
    –>在對象方法中,若是要調用當前對象的其餘的對象方法,必須使用self
  2. 選用self的場景 在方法中不存在和屬性同名的局部變量,若是這個時候想要訪問當前對象的屬性, 用不用self效果都是同樣的,都是訪問的當前對象的屬性 屬性要求如下劃線開頭,局部變量不要求如下劃線開頭,按照這個規範來,其實是不會重名的