1.概述
![](https://i-blog.csdnimg.cn/blog_migrate/47d04a7815cf3a44494cc38430343fc5.png)
-
例如:int'(4.0),把4.0转为整型。
-
$cast(tgt,src),把src的类型转化为tgt的类型。式中“,”理解为“=”方便理解。
2.动态转换
![](https://i-blog.csdnimg.cn/blog_migrate/d82f17474a2f86f3e2065505b763bf5a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2fc71149f8b664833a468a5d29709a70.png)
3.子类句柄赋值给父类句柄
![](https://i-blog.csdnimg.cn/blog_migrate/a095ed3cfd65a10d21187ffb4de184f1.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ebf691f579d4ce88c12d1e1fccd67b25.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a45a6f12e5bd03438a0f79955a086541.png)
![](https://i-blog.csdnimg.cn/blog_migrate/727a0ec407eb2a201f39ccf7a8556122.png)
-
直接将父类赋值给子类是会编译错误的需要使用显示转换的$cast();
-
但是即便用了$cast做转换,也不能成功将父类句柄转化为子类句柄, $cast会返回0。
-
那么转化失败,bad就没有被赋值,是一个空句柄。那么display不出来。
![](https://i-blog.csdnimg.cn/blog_migrate/804721d7a892d882a093e0f3c381542b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fd306c5a21c60c1db3885de9048d02f3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a28cac48f299770f5f7219a96a026b56.png)