I come from a C++ background.
If I'm not going to implement the method, what's the point of giving arbitrary identifiers to the parameters? Aren't the identifiers supposed to be tied to the implementation? Why not only write the necessary types?
Instead of this
abstract class A {public abstract int f(int x, int y);}
class B: A {public override int f(int x, int y) => x + y;}
Why isn't it just something like this?
abstract class A {public abstract int f(int, int);}
class B: A {public override int f(int x, int y) => x + y;}
Not to mention I seem to be allowed to name these identifiers in the abstract declaration whatever I like
abstract class A {public abstract int f(int a, int b);}
class B: A {public override int f(int x, int y) => x + y;}