我遇到了一些具有以下结构的Java代码:
public MyParameterizedFunction(String param1, int param2)
{
this(param1, param2, false);
}
public MyParameterizedFunction(String param1, int param2, boolean param3)
{
//use all three parameters here
}
Run Code Online (Sandbox Code Playgroud)
我知道在C++中我可以为参数指定一个默认值.例如:
void MyParameterizedFunction(String param1, int param2, bool param3=false);
Run Code Online (Sandbox Code Playgroud)
Java是否支持这种语法?有没有理由说这两步语法更可取?
在Javascript中伪造函数重载的最佳方法是什么?
我知道不可能像在其他语言中一样重载Javascript中的函数.如果我需要一个函数有两个用途foo(x)和foo(x,y,z)这是最好的/优选的方法:
y = y || 'default'有没有人在TypeScript中完成构造函数重载.在语言规范的第64页(v 0.8)中,有一些语句描述构造函数重载,但没有给出任何示例代码.
我现在正在尝试一个非常基本的课堂宣言; 看起来像这样,
interface IBox {
x : number;
y : number;
height : number;
width : number;
}
class Box {
public x: number;
public y: number;
public height: number;
public width: number;
constructor(obj: IBox) {
this.x = obj.x;
this.y = obj.y;
this.height = obj.height;
this.width = obj.width;
}
constructor() {
this.x = 0;
this.y = 0;
this.width = 0;
this.height = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
当使用tsc BoxSample.ts运行时,它会抛出一个重复的构造函数定义 - 这很明显.任何帮助表示赞赏.
就Java而言,当有人问:
什么是多态?
将超载或重载是一个可以接受的答案?
我认为还有更多的东西.
如果您有一个抽象基类定义了一个没有实现的方法,并且您在子类中定义了该方法,那还是会覆盖吗?
我认为超载肯定不是正确的答案.
我很想知道你是否可以重载ASP.NET MVC中的控制器方法.每当我尝试时,我都会收到以下错误.这两种方法接受不同的论点.这是不能做的事吗?
控制器类型'MyController'上的当前操作请求'MyMethod'在以下操作方法之间是不明确的:
为什么更多主流的静态类型语言不支持返回类型的函数/方法重载?我想不出那样做.通过参数类型支持过载似乎没有那么有用或合理.怎么这么不受欢迎呢?
programming-languages overloading language-design function-calls
有没有办法在C中实现函数重载?我正在寻找简单的函数来重载像
foo (int a)
foo (char b)
foo (float c , int d)
Run Code Online (Sandbox Code Playgroud)
我认为没有直接的方式; 我正在寻找解决方法,如果存在的话.
假设我有一个具体的类Class1,我正在创建一个匿名类.
Object a = new Class1(){
void someNewMethod(){
}
};
Run Code Online (Sandbox Code Playgroud)
现在有什么方法可以重载这个匿名类的构造函数.如下图所示
Object a = new Class1(){
void someNewMethod(){
}
public XXXXXXXX(int a){
super();
System.out.println(a);
}
};
Run Code Online (Sandbox Code Playgroud)
用xxxxxxxx命名构造函数?
TypeScript语言规范的第6.3节讨论了函数重载,并给出了如何实现它的具体示例.但是,如果我尝试这样的事情:
export class LayerFactory {
constructor (public styleFactory: Symbology.StyleFactory) { }
createFeatureLayer (userContext : Model.UserContext, mapWrapperObj : MapWrapperBase) : any {
throw "not implemented";
}
createFeatureLayer(layerName : string, style : any) : any {
throw "not implemented";
}
}
Run Code Online (Sandbox Code Playgroud)
即使函数参数属于不同类型,我也会收到指示重复标识符的编译器错误.即使我在第二个createFeatureLayer函数中添加了一个额外的参数,我仍然会遇到编译器错误.想法,请.
overloading ×10
java ×3
constructor ×2
typescript ×2
asp.net-mvc ×1
c ×1
c# ×1
go ×1
javascript ×1
methods ×1
oop ×1
overriding ×1
parameters ×1
polymorphism ×1