黑马程序员技术交流社区
标题:
oc类的封装与继承--初体验
[打印本页]
作者:
YuePr
时间:
2015-12-7 21:25
标题:
oc类的封装与继承--初体验
#if 1
#import<Foundation/Foundation.h>
@interface Weapon :NSObject
{
char * _weaponType;
int _weaponId;
}
-(void)setWeaponType:(char *) weaponType WID: (int)weaponId;
-(int)getWeaponId;
-(char*)getWeaponType;
@end
@implementation Weapon
-(void)setWeaponType :(char *) weaponType WID :(int)weaponId
{
_weaponType = weaponType;
_weaponId = weaponId;
}
-(int)getWeaponId
{
return _weaponId;
}
-(char*)getWeaponType
{
return _weaponType;
}
@end
@interface Person :NSObject
{
char *_personName;
int _personId;
char *_personSex;
}
-(void)setPersonName :(char *)name;
-(char *)getPersonName;
@end
@implementation Person
-(void)setPersonName :(char *)name
{
_personName = name;
}
-(char *)getPersonName
{
_personSex = "defaltMAN";
_personId = 11111;
NSLog(@"person sex is %s,and ID is %d",_personSex,_personId);
return _personName;
}
@end
@interface TrafficPolice : Person
{
Weapon * _gun;
int _policeId;
}
-(void)setWeapon:(Weapon *)weapon;
-(Weapon *)getWeapon;
-(void)setPoliceId:(int) policeid;
-(int)getPoliceId;
@end
@implementation TrafficPolice
-(void)setWeapon:(Weapon *)weapon
{
_gun = weapon;
}
-(Weapon *)getWeapon
{
return _gun;
}
-(void)setPoliceId:(int) policeid
{
_policeId = policeid;
}
-(int)getPoliceId
{
return _policeId;
}
@end
int main()
{
TrafficPolice *YANGsir = [TrafficPolice new];
//Weapon *camera;
Weapon *camera = [Weapon new];
[camera setWeaponType:("AKseries")WID:8888];
//camera->weaponType = "AKseries";
//camera->weaponId = 8888;
[YANGsir setPoliceId:7007];
[YANGsir setWeapon :camera];
NSLog(@"policeID is %d",[YANGsir getPoliceId]);
NSLog(@"weaponID is %d",[[YANGsir getWeapon] getWeaponId]);
NSLog(@"weaponType is %s",[[YANGsir getWeapon] getWeaponType]);
[YANGsir setPersonName:"Yang Yi-Shan"];
NSLog(@"police name is %s",[YANGsir getPersonName]);
return 0;
}
#endif
复制代码
作者:
jiuyeban
时间:
2015-12-7 21:47
赞赞赞.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2