[비범한 프로그래머] 대상을 대상으로 복합된 응용

2115 단어
객체에서 다른 객체를 참조할 수 있습니다.대상이 다른 대상을 인용할 때 그 대상이 제공하는 특성을 이용할 수 있다.간단한 전달 기능을 하고 대상인과 문장을 먼저 분석하기 때문에 두 대상을 먼저 정의하면 각각 Person과 Article이고 Person의 클래스 속성은 이름이 있다name, 나이age 등;Article의 클래스 속성에는 문장 제목이 있습니다title, 문장 유형콘텐츠 및 전달자relyPerson.
Person.h 파일의 코드는 다음과 같습니다.
 #import <foundation/foundation.h>
 @interface Person:NSObject
 {
    NSString *_name;
    int _age;
    NSString *_location;
  }
  -(void)setName:(NSString *)name;
  -(NSString *)getName;
  -(void)setAge:(int)age;
  -(int)getAge;

Person.m 파일의 코드는 다음과 같습니다.
  #import "Person.h"
 @implementation 
  -(void)setName:(NSString *)name
  {
     _name=name;
  }
  -(NSString *)getName
   {
      return _name;
   }
  -(void)setAge:(int)age
   {
     _age=age;
   }
  -(int)getAge
   {
      return _age;   
   }

"Article.h"파일에서 코드는 이 파일에서 정의된 (Person*)은 이전에 정의된 것으로 두 구성 요소가 한데 조합된 것과 같고 복합이라고도 부른다.
  #import <foundation/foundation.h>
 @interface Article:NSObject
   {
    NSString *_title;
    Person *_relyperson;
    }
  -(void)setTitle:(NSString *)title;
  -(NSString *)getTitle;
  -(void)setRelyPerson:(Person *)RelyPerson;
  -(Person *)getRelyPerson;

Article.m 파일의 코드
 #import "Article.h"
 @implementation
 -(void)setTitle:(NSString *)title 
 {
   _title=title;
 }
  -(NSString *)getTitle
  {
    return _title;
  }
  -(void)setRelyPerson:(Person *)RelyPerson
  {
     _relyperson=RelyPerson;
  }
    -(Person *)getRelyPerson
    {
      return _relyperson;
    }

이것은 두 대상의 실현과 인터페이스이다. 이렇게 다 쓴 후에main 페이지에서 호출하고 출력할 수 있다. 다음은main 페이지의 중 코드 실현 부분이다.
 #import <Foundation/Foundation.h>
 #import"Person.h"
 int main(int argc, const char * argv[]) {
   Person *per=[Person new];
   [per setName:@"abc"];
   Article *art=[Article new];
   [art setTitle:@"     "];
   [art setRelyPerson:per]
   NSLog(@"        :%@,    :%@", [art getTitle],[[art getRelyPerson] getName]);
   return 0;
}

마지막으로 출력한 결과 전달된 글의 제목은 배고픈 호랑이, 전달자는 abc였다.

좋은 웹페이지 즐겨찾기