关于委托实例化有点不清楚
来源:8-2 【理论】什么是委托
JIANGYUHANG
2023-06-28
视频中老师说委托实例化的时候不需要用new,直接用另一个类的实例化对象来调用其内部的方法就行,也不用小括号
但是我在网上查的时候,网上对于委托的方法,都是用的new关键字来实例化的
这是因为一个可以直接调用,另一个需要实例化后才能调用内部方法的原因么?是不是用不用new关键字都可以?
写回答
1回答
-
阿莱克斯刘
2023-08-18
同学你好,你的问题提得很好,课程中说的是不需要new就可以完成委托,而不是不可以实例化。这是为什么呢,因为课程一直在强调的是,委托是一个指向某个(组)内存方法地址的类型。在你举的例子中我们可以看到,在使用new来初始化委托对象以后,还需要在构造方法的参数中传递被委托方法名称,其实这就是委托的指向。也就是说,委托类型的本质就是一个pointer、是一个指针,一个指向被委托方法的类型而已。如果你学过c++,了解指针pointer,就会知道一个pointer可以指向任意同类型的变量内存地址而不需要new来实例化。所以,在我们的课程中我直接让委托指向被委托方法,就不需要实例化了。请注意,课程所给出的委托使用方案是围绕着业务所展开的,而这也是实际工作中真正会使用到的方案,至于网上的讲解,不能说他们错,但在实际工作中解决不了任何问题,所以请同学牢记课程中的委托业务和代码逻辑。委托确实不好掌握,很多人学了委托只是背下了语法和定义,到真正用的时候根本就不会使用,所以我们一定要结合业务才能真正理解委托的用法。请多研究几遍本节课的代码和业务,加深印象。10
相似问题
奇特的实例化方式
回答 1
4-5视频中对象实例化为什么是用var
回答 1