You implementation force Class 1 and 2 to implement "hello(var1, var2,var3)" just because you want to have a extra method for Class 3. This is not a good design to follow. You should follow Open to extend and close to modification methodology. you might create an extension of class A and implement it for Class 3. Please refer the approach below:
abstract class A
{
public abstract void hello(var1, var2); // This will be only for class 1 & class 2 (Existing function)
}
abstract class A1 : A
{
public abstract void hello(var1, var2, var3); // Want to make this available for class 3 only. (Want to add this new function)
}
Implement Class A for Class 1 and Class 2 Implement Class A1 for Class 3
Maddy