学习ios开发很简单--oc篇 自定义类的工厂方法

本文介绍类工厂方法的概念及其在Objective-C中的应用。类工厂方法是一种用于快速创建对象的方法,遵循特定的规范,如方法名以类名开头且首字母小写。文章提供了Person类的示例,展示了如何实现默认构造方法及带参数的构造方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类的工厂方法 


 什么是类工厂方法:

 用于快速创建对象的类方法, 我们称之为类工厂方法

 类工厂方法中主要用于 给对象分配存储空间和初始化这块存储空间

 

 规范:

 1.一定是类方法 +

 2.方法名称以类的名称开头, 首字母小写

 3.一定有返回值, 返回值是id/instancetype



自定义类工厂方法是苹果的一个规范, 一般情况下, 我们会给一个类提供自定义构造方法和自定义类工厂方法用于创建一个对象



.h

#import <Foundation/Foundation.h>


@interface Person : NSObject


@property int age;


+ (instancetype)person;


+ (instancetype)personWithAge:(int)age;

@end


.m


#import "Person.h"


@implementation Person


+ (instancetype)person

{

    return [[Person alloc] init];

}


+ (instancetype)personWithAge:(int)age

{

    Person *p = [[Person alloc] init];

    p.age = age;

    return p;

}


@end



main

#import <Foundation/Foundation.h>

#import "Person.h"


int main(int argc, const char * argv[]) {


//    Person *p = [[Person alloc] init];

//    Person *p1  = [Person person];

//    p1.age = 30;

    Person *p1 = [Person personWithAge:30];

    NSLog(@"age = %i", p1.age);

   

    

//    [[NSString alloc] init];

//    [NSString string];

//    

//    [[NSString alloc] initWithString:<#(NSString *)#>];

//    [NSString stringWithString:<#(NSString *)#>];

//    

//    [[NSArray alloc] init];

//    [NSArray array];

//    [NSArray alloc] initWithObjects:<#(id), ...#>, nil

//    [NSArray arrayWithObjects:<#(id), ...#>, nil]

    

    return 0;

}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值