类工厂方法及注意点

+(instancetype)person //p小写

{

  return [[self alloc] init];

}

+(instancetype)personWithAge:(int)age

{

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

  p.age=age;

  return p;

}

类工厂方法本质:创建一个实体类返回

注意点:创建实体类一定要用self而不是用实体类(此处是Person)

时间: 2024-10-07 19:00:37

类工厂方法及注意点的相关文章

自定义类工厂方法

1.自定义工厂方法 什么是工厂方法(快速创建方法) 类工厂方法是一种用于分配.初始化实例并返回一个它自己的实例的类方法.类工厂方法很方便,因为它们允许您只使用一个步骤(而不是两个步骤)就能创建对象. 例如new 自定义类工厂方法的规范 (1)一定是+号开头 (2)返回值一般是instancetype类型 (3)方法名称以类名开头,首字母小写 示例 + (id)person; + (id)person { return [[Person alloc]init]; } + (id)personWit

24-oc类工厂方法和类对象基本概念

类工厂方法 用于快速创建对象的类方法, 我们称之为类工厂方法 类工厂方法应用场景 类工厂方法中主要用于给对象分配存储空间和初始化这块存储空间 类工厂方法使用规范 规范: 一定是类方法 + 方法名称以类的名称开头, 首字母小写 一定有返回值, 返回值是id/instancetype 在类工厂方法实现中,调用本类的构造方法,创建实例对象,并返回实例对象 自定义类工厂方法是苹果的一个规范, 一般情况下, 我们会给一个类提供自定义构造方法和自定义类工厂方法用于创建一个对象 类工厂方法在继承中的注意点 以

类工厂方法的定义

类工厂方法是一种用于分配.初始化实例并返回一个它自己的实例的类方法.类工厂方法很方便,因为它们允许您只使用一个步骤(而不是两个步骤)就能创建对象. 它们采用以下形式: + (type)className...(在这里 className 不包括任何前缀) 调用类工厂时如:nsstring *string = [nsstring initwithformat:@"jdhj%@",anotherString]

OC基础(八)类工厂方法

一:基本用法 类工厂方法作用:提高编码效率,快速创建对象的方法 规范:1.一定是+开头   2.方法以类名开头,首字母小写. 3.一定有返回值,返回类型为id/instancetype 比如:在类的声明和实现中 无参数: + (instancetype)person; + (instancetype)person{ return [[Person alloc] init]; } 在主函数创建对象中就可以直接使用,简化代码. Person *p1 = [Person person];  //此处的

java匿名类工厂方法[java编程思想10.6.1]

package com.ebao.java.innerclass; public interface Service { void method1(); void method2();} public interface ServiceFactory { Service getService();} public class Implementation1 implements Service { private Implementation1(){} @Override public void

简单工厂模式,工厂方法模式,抽象工厂模式

简单工厂模式.抽象工厂模式.工厂方法模式,这三种工厂模式都属于设计模式中的创建型模式,它们在形式和特点上也多少有些相似,其最终目的都是帮我们将对象的实例化部分取出来,进而优化系统架构,增强系统的扩展性,也就是说更好的体现开放封闭原则. 简单工厂模式: 概念: 简单工厂模式是类的创建模式,又叫做静态工厂方法模式,是由一个工厂类根据传入的参量决定创建出哪一种产品类的实例,涉及到工厂角色.抽象产品角色以及具体产品角色. 结构图: 分析: 一: 简单工厂类是整个模式的关键所在,包含了必要的逻辑判断,根据

ios设计模式--工厂方法

工厂方法模式是抽象工作模式的组成部分. 工厂方法也成为虚构造器,他适用于这种情况:一个类无法预期需要生成那个类的对象,想让其子类来指定所生成的对象. 工厂方法模式:定义创建对象的接口,让子类决定实例化哪一个类,工厂方法使得一个类的实例化延迟到其子类. 何时使用工厂方法: 1.编译时无法准确预期要创建的对象的类 2.类想让其子类决定在运行时创建什么 3.类有若干辅助类为其子类,而你想将反悔哪个子类这一信息局部化 类工厂方法是创建对象的安全方法: 工厂方法模式让客户端可以要求由工厂方法创建的对象拥有

Objective-C设计模式——工厂方法模式virtual constructor(对象创建)

工厂方法模式 工厂方法模式可以控制对象的创建过程,屏蔽对象创建的细节,可以直接创建出我们所需要的已经配置好的对象. 工厂方法模式定义了创建方法的接口,让子类决定实例化哪一个类,工厂方法模式使得一个类的实例化延迟到其子类. 工厂方法的工厂其实是多太的一个经典应用,而其生产的产品取决于使用什么工厂,符合面向对象设计的开放封闭原则,添加产品只需要添加新的类,而不需要修改原有的代码. 使用场景 1.编译时无法准确预期要创建的对象的类: 2.类想让其子类决定在运行时创见什么: 3.类有若干辅助类为其子类,

2、类工厂-OC

类工厂方法:   概念: 类工厂方法就是是用于快速创建对象的类方法. 我们代码以Person类为名 1 + (instancetype)person{ //此处为小写的类名 2 return[[Person alloc]init]; //返回的为初始化的对象 3 } 1 int main(int argc, const char * argv[]) { 2 Person *p = [Person person]; //调用类方法person 3 return 0; 4 } 我们可以看到这便是我们