課程來自慕課網(wǎng)Visitor.zc老師
創(chuàng)建類的對象
#import <Foundation/Foundation.h>
#import "People.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 實例化對象
/*
類名 對象名 = [[類名 方法名] 方法名];
alloc - 為對象分配內(nèi)存空間
init - 進行初始化操作
*/
People *p1 = [[People alloc] init];
People *p2 = [[People alloc] init];
People *p3 = [People new];
NSLog(@"p1 - %p",p1); // p1 - 0x10181deb0
NSLog(@"p2 - %p",p2); // p2 - 0x10181e440
NSLog(@"p3 - %p",p3); // p3 - 0x10181dcc0
return 0;
}
}
屬性和成員變量
#import <Foundation/Foundation.h>
#import "People.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
// 實例化對象
/*
類名 對象名 = [[類名 方法名] 方法名];
alloc - 為對象分配內(nèi)存空間
init - 進行初始化操作
*/
People *p1 = [[People alloc] init];
People *p2 = [[People alloc] init];
p1.name = @"張三";
p2.name = @"李四";
NSLog(@"p1.name -> %@",p1.name); // p1.name -> 張三
NSLog(@"p2.name -> %@",p2.name); // p2.name -> 李四
return 0;
}
}
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
// 類外使用屬性,類內(nèi)使用成員變量
@interface People : NSObject
// 屬性為了讓類外可以訪問成員變量
// 屬性就是成員變量的外部接口
@property(nonatomic,strong)NSString *name;
@end
NS_ASSUME_NONNULL_END
#import "People.h"
@implementation People
{
//聲明成員變量
// NSString *_name; 申明name屬性時慈俯,系統(tǒng)會自動生成 _name 成員變量
int _age;
int _sex;
}
- (instancetype)init
{
self = [super init];
if (self) {
// 類內(nèi)調(diào)用成員變量顽素,屬性是給類外使用的
_name = @"張三";
}
return self;
}
@end