[Objective-c 베이스 - 2.4] 멀티태스킹

6713 단어 Objective-C
A. 대상의 다양한 형태
1. 상위 포인터는 하위 클래스 대상을 가리킨다
2. 방법을 사용할 때 실제 대상을 동태적으로 모니터링하는 방법
3. 상속이 없으면 다태가 없다
4. 장점: 부류 바늘로 서로 다른 부류 대상을 가리킬 수 있다
5. 유형을 강제로 변환한 후에 하위 클래스 특유의 방법을 사용할 수 있다. 그렇지 않으면 Warning(정상적으로 실행할 수 있다. 즉, 바늘 유형을 막론하고 대상이 실제 방법만 있으면 실행할 수 있다)
 1  

 2 #import <Foundation/Foundation.h>

 3 

 4 @interface Animal : NSObject

 5 - (void) eat;

 6 @end

 7 

 8 @interface Dog : Animal

 9 - (void) run;

10 @end

11 

12 @interface Cat : Animal

13 

14 @end

15 

16 

17 @implementation Animal

18 - (void) eat

19 {

20     NSLog(@"   ---");

21 }

22 

23 @end

24 

25 @implementation Dog

26 - (void) eat

27 {

28     NSLog(@"     ");

29 }

30 

31 - (void) run

32 {

33     NSLog(@"      ");

34 }

35 @end

36 

37 @implementation Cat

38 

39 - (void) eat

40 {

41     NSLog(@"     ");

42 }

43 

44 @end

45 

46 void feed(Animal *animal)

47 {

48     NSLog(@"     ");

49     [animal eat];

50 }

51 

52 

53 int main()

54 {

55     Animal *a = [Dog new];

56     [a eat];

57     Animal *c = [Cat new];

58     [c eat];

59    

60     feed(a);

61     feed(c);

62    

63     Dog *dog = (Dog *)a;

64     [dog run];

65    

66     return 0;

67 }

 

좋은 웹페이지 즐겨찾기