2011-09-10 4 views

답변

0

는 그들은 ofter에 mutatorsaccessors로 불린다.

mutator/accessor 수득 다음 결과의 검색 : 컴퓨터 과학

은 테이터 방법 변수의 변경을 제어하기 위해 사용하는 방법이다. "setter"라고도하는 뮤 테이터 메서드는 캡슐화 원칙에 따라 객체 지향 프로그래밍에서 가장 자주 사용됩니다. 이 원칙에 따라 클래스의 멤버 변수는 비공개로 만들어 다른 코드에서 숨기고 보호하며 원하는 새 값을 매개 변수로 사용하고 선택적으로 유효성을 검사하는 public 멤버 함수 (변형 메서드)를 통해서만 수정할 수 있습니다 그것을 수정하고 private 멤버 변수를 수정합니다. 종종 "setter"에는 private 멤버 변수의 값을 반환하는 "getter"(액세서라고도 함)가 수반됩니다.

http://en.wikipedia.org/wiki/Mutator_method


당신은 declared properties를 통해 Onbjectice-C에서이 패러다임을 사용할 수 있습니다

@interface MyClass : NSObject 
{ 
    NSString *value; 
} 
@property(copy, readwrite) NSString *value; 
@end 

@implementation MyClass 
@synthesize value; 
@end 
0

getter 및 setter는 내부 구현을 숨길 수있는 객체에 대한 방법은 하지만 다른 객체가 사물에 접근하는 것을 허용합니다. 또한 호출 될 때 유효성 검사 또는 다른 작업을 수행 할 수 있습니다.

objective-c에서는 속성의 개념에 묶여 있습니다. 속성을 정의하면 개체의 기능에 대한 getter와 setter가 생깁니다.

예를 들어, 무언가가 요청 된 횟수를 알고 싶다면 어떻게해야할까요?

@interface MyDataHolder { 
    NSData *data; 
    NSInteger count; 
} 

@property (readonly) NSData *data; 

@end 

하고하는 .m 파일 이제

@implementation MyDataHolder 
... 
- (NSData *)data { 
    count ++; 
    return data; 
} 

에서

, 단지 데이터를 요청하여, 계산도 증가합니다.

자세한 내용은 about properties here이고 @ jussi의 링크는 getters/setters에 대한 일반적인 개요입니다.

관련 문제