术语——在不同命名空间中声明方法是否算作重载
Terminology - does declaring methods in different namespaces count as overloading
基本上问题已经在题目中总结出来了。如果我们有两个 methods/functions 在不同的命名空间中具有相同的签名(即相同的名称、参数类型和顺序、泛型类型参数数量),这算作重载吗?
这是一个 C# 问题,但我很想为不同的 OOP 语言找到答案。
另外,还有一个问题。如果我们有两个具有相同签名但在不同 类 中的方法,这是否算作重载?
当您在当前 class 中有多个名称相同但签名不同的方法时,就会发生重载。方法重载的范围是"Within the current class"
public class Math2
{
// This one's for squares
public static double Area(double side)
{
return side * side;
}
// This one's for rectangles
public static double Area(double length, double height)
{
return length * height;
}
}
如果方法在不同的class中,则不认为是重载。
重要的是要提到重载只是参数。
基本上问题已经在题目中总结出来了。如果我们有两个 methods/functions 在不同的命名空间中具有相同的签名(即相同的名称、参数类型和顺序、泛型类型参数数量),这算作重载吗?
这是一个 C# 问题,但我很想为不同的 OOP 语言找到答案。
另外,还有一个问题。如果我们有两个具有相同签名但在不同 类 中的方法,这是否算作重载?
当您在当前 class 中有多个名称相同但签名不同的方法时,就会发生重载。方法重载的范围是"Within the current class"
public class Math2
{
// This one's for squares
public static double Area(double side)
{
return side * side;
}
// This one's for rectangles
public static double Area(double length, double height)
{
return length * height;
}
}
如果方法在不同的class中,则不认为是重载。 重要的是要提到重载只是参数。