博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVM:8.2.1 factory 机制式的重载
阅读量:4220 次
发布时间:2019-05-26

本文共 449 字,大约阅读时间需要 1 分钟。

1.factory 的重载和之前的重载都不一样。

2.以8.1.1 为例,稍有不同:

结果:

1)传递的类型为bird,但都指向parrot 的指针。

3.factory机制的重载功能,原理:

1)例化时,UVM 会通过factory 机制在内部的表格中查看是否有相关的重载记录。

2)set_type_override_by_type相当于在factory 的机制中加入了一条记录。,当查到有重载是,会用新的代替旧的。

4.使用前提:

1)无论重载的类(parrot)还是被重载的类(bird),定义时都要注册到factory中。

2)被重载的类在例化时,使用factory 机制例化,而不能用new:

上述不会生效,得到结果和8.1.1一样。

3)重载类和被重载类有派生关系。重载类必须派生自被重载类,被重载类必须是重载类的父类。

4)components 和object 不能互相重载。因为关系太远。

5.如果没有派生关系:

错误提示:

6.重载与被重载顺序颠倒:

1)上图红色。

2)报错:

你可能感兴趣的文章
浅谈Spring AOP
查看>>
动态代理
查看>>
Java与Oracle日期格式化
查看>>
fastjson学习
查看>>
Spring 自定义标签创建
查看>>
Spring容器启动流程(上)
查看>>
Spring注解详解
查看>>
Spring容器启动流程(下)
查看>>
Spring Bean初始化实例
查看>>
深入理解Spring AOP实现
查看>>
Spring 事务管理
查看>>
重学多线程(一)—— 线程简介
查看>>
重学多线程(二)—— 线程间的通信
查看>>
重学多线程(三)—— 锁
查看>>
重学多线程(四)—— 线程池
查看>>
重学Java集合类(一)—— 集合类简介
查看>>
重学多线程(五)—— Unsafe类
查看>>
重学Java集合类(二)—— List接口
查看>>
重学Java集合类(三)—— Map接口(上)
查看>>
重学Java集合类(三)—— Map接口(下)
查看>>