OC 의 점 문법,구성원 변수의 역할 영역

1628 단어 구성원 변수
점 문법
점 문법 본질은 함수 호출 입 니 다.자바 처럼 구성원 변 수 를 방문 하 는 것 이 아 닙 니 다.oc 에서 구성원 변 수 를 방문 하 는 것 은->로 접근 하 는 것 입 니 다.
Person *p = [Person new];
p.age = 10; // 점 문법 이 할당 작업 을 한 것 이 라면 setter 방법 을 호출 한 것 과 같 습 니 다.
[p.age]; // 이렇게 할당 하지 않 으 면 getter 를 호출 한 것 과 같 습 니 다.
주의 점:
setter 나 getter 에서 문법 을 사용 하지 마 십시오.사순환 은 귀속 호출 으로 인 한 것 이다.
//  setter     



- (void)setAge:(int)age

{

     _age = age;

     self.age = 10;  //   setter        ,          ;

}

 
 구성원 변수의 역할 영역:권한 수정자 라 고도 합 니 다.
'직접 방문'이라는 네 글 자 를 잘 이해 하 세 요.대상 이름 을 통 해 직접 방문 하 는 것 을 말 합 니 다.setter 와 geter 를 통 해 직접 방문 하 는 것 이 아니 라 직접 방문 하 는 것 을 말 합 니 다.
@public:어디서 든 대상 에 직접 접근 할 수 있 는 구성원 변수
@private:이 클래스 의 대상 방법 에서 만 직접 접근 할 수 있 습 니 다.하위 클래스 는 직접 접근 할 수 없 지만 하위 클래스 는 이 속성 을 가지 고 있 습 니 다.부모 클래스 의 getter 와 setter 를 통 해 접근 할 수 있 습 니 다.
@proctected:이 클래스 와 하위 클래스 의 대상 방법 에 직접 접근 할 수 있 습 니 다.
@package:같은 프레임 워 크 에서 직접 접근 할 수 있 습 니 다.
수정자 가 추가 되 지 않 았 습 니 다.직접 정 의 된 구성원 변 수 는 기본적으로 proctected 입 니 다.전 제 는 이 구성원 변 수 는@interface 에 정의 되 어 있 습 니 다.@implementation 에서 도 구성원 변 수 를 정의 할 수 있 습 니 다.여기 서 정 의 된 구성원 변 수 는 기본적으로@private 입 니 다.m 파일 은 다른 사람 에 게 포함 되 지 않 기 때 문 입 니 다.그러나 implementation 에서 설명 한 구성원 변 수 는@interface 의 구성원 변수 와 이름 을 바 꿀 수 없습니다.

좋은 웹페이지 즐겨찾기