方法问题或行为-(BOOL) isKindOfClass : class-object对象是不是class-object或其子类的成员-(BOOL) isMemberOfClass:class-object对象是不是class-object的成员
-(BOOL) respondsToSelector:Selector对象是否能够响应selector所指定的方法-(BOOL) instancesRespondToSelector指定的类实例是否能响应selector-(BOOL) isSubclassOfClass:class-object对象是否是指定类的子类-(id) performSelector:selector应用selector指定的方法-(id) performSelector:selector withObject:object应用selector指定的方法-(id) performSelector:selector withObject:object1 withObject : object2应用selector指定的方法

测试实验设计

继承关系图:

Rectangle.h

Square.h

在main.h中的测试如下:

////main.m//Square////CreatedbyAppleon2017/9/9.//Copyright2017年Apple.Allrightsreserved.//#import<Foundation/Foundation.h>#import"Square.h"intmain(intargc,constchar*argv[]){@autoreleasepool{Square*mySquare=[[Squarealloc]init];//isMemberofif([mySquareisMemberOfClass:[Squareclass]]==YES){NSLog(@"mySquareisamemberofSquareclass");//}if([mySquareisMemberOfClass:[Rectangleclass]]==YES){NSLog(@"mySquareissmemberofRectamgleclass");}if([mySquareisMemberOfClass:[NSObjectclass]]==YES){NSLog(@"mySquareisamemberofNSObjectclass");}//isKindOfif([mySquareisKindOfClass:[Squareclass]]==YES){NSLog(@"mySquareisakindofSquareclass");//}if([mySquareisKindOfClass:[Rectangleclass]]==YES){NSLog(@"mySquareisskindofRectamgleclass");}if([mySquareisKindOfClass:[NSObjectclass]]==YES){NSLog(@"mySquareisakindofNSObjectclass");//}//respondsTo:if([mySquarerespondsToSelector:@selector(setSide:)]==YES){NSLog(@"mySquarerespondstosetSide:method");}if([mySquarerespondsToSelector:@selector(setWidth:addHeight:)]==YES){NSLog(@"mySquarerespondstosetWidth:addHeight:method");}if([SquarerespondsToSelector:@selector(alloc)]==YES){NSLog(@"Squareclassrespondstoallocmethod");}//instancesRespondTo:if([RectangleinstancesRespondToSelector:@selector(setSide:)]==YES){NSLog(@"InstancesofrespondtosetSide:method");}if([SquareinstancesRespondToSelector:@selector(setWidth:addHeight:)]==YES){NSLog(@"InstancesofSquarerespondtosetWidth:addHeight::method");}if([SquareisSubclassOfClass:[Rectangleclass]]==YES){NSLog(@"Squareisasubclassofarectangle");}return0;}}