问个很幼稚的编程问题
来源:百度知道 编辑:UC知道 时间:2024/06/18 02:51:37
为什么java,c++方法里面传参数的时候只能传对象或者基本数据类型
就不能传一方法当做参数么
如果看不懂的话我写出来
比如
public void a(){
}
public void b(Method a){
}
就是把a方法传到b方法里面当参数使用
为什么现在编程的语言都没有这种?
就不能传一方法当做参数么
如果看不懂的话我写出来
比如
public void a(){
}
public void b(Method a){
}
就是把a方法传到b方法里面当参数使用
为什么现在编程的语言都没有这种?
我不知道你以前用什么语言 但是Java和C++里面是可以有替代方案的
C++中你可以传函数指针,也就是指向函数的指针,这样相当于一个方法进去了
Java中你可以传一个匿名对象,这个匿名对象实现一个接口,这个接口有一个你需要的方法,比如
interface IDelegate{
void MyMethod();
}
这样把匿名对象传进去相当于一个方法
c#中你可以传递委托,委托相当于一个对象+一个方法,同样可以实现你的功能
把子程序(函数、过程、静态方法)作为参数,多数语言都支持的,C语言里面应该使用取地址的方法,例如:
b(&a);