01.同1类的多个对象之间毫无关系
1).创建Dog类
#import <Foundation/Foundation.h>
@interface HMDog : NSObject
{
@public
NSString *_name;
NSString *_color;
int _age;
}
-(void)shout;
-(void)protectHome;
@end
@implementation HMDog
{
-(void)shout
{
NSLog(@"汪汪汪...");
}
-(void)protectHome
{
NSLog(@"汪,来者何人,再敢进来我就咬死你!");
}
@end
2).创建对象,还可以再创建很多个对象
int main()
{
HMDog *wangCai = [HMDog new];
wangCai->_name = @"旺财";
wangCai->_color = @"黄色";
wangCai->_age = 2;
HMDog *xiaoBai = [HMDog new];
HMDog *douDou = [HMDog new];
return 0;
}
2.属性的访问
1).需要指定
对象可以创建很多个,所以你在访问属性的时候,必须要指定访问的是哪1个对象的属性或者方法
2).每1个对象都有自己的属性
每创建1个对象,这个对象中都有自己的属性和方法
同1类的多个对象之间毫无关系
3.在方法的实现中直接访问属性
1).在方法的实现中,可以直接访问本类的属性
@interface HMDog : NSObject
{
@public
NSString *_name;
NSString *_color;
int _age;
}
-(void)shout;
-(void)protectHome;
@end
@implementation HMDog
{
-(void)shout
{
_name = @"旺财";
_color = @"黄色";
_age = 1;
NSLog(@"汪汪汪...");
}
-(void)protectHome
{
NSLog(@"汪,来者何人,再敢进来我就咬死你!");
}
@end
2).方法是通过对象来调用,方法是通过那1个对象来调用的,那么这个方法中访问的属性就是那1个对象的
int main()
{
HMDog *d1 = [HMDog new];
[d1 shout];
return 0;
}