我知道在抽象类中使用静态方法不是最佳实践,但如果我在抽象类中同时使用静态方法和非静态方法,有什么区别?
我假设调用这些方法没有区别,因为我们不能创建抽象类的实例,所以只能使用类名称来调用静态和非静态方法。
除了关键字“Static”之外,它们之间是否还有其他区别?
例如:
抽象类:
abstract public class AbstractClass
{
#region Constructor
protected AbstractClass(Args args): this(args)
{
}
#endregion
#region public static methods
public static object FormLoad(Args args)
{
//Logic
}
public static object Sample(Args args)
{
//Logic
}
#endregion
#region Public non-static methods
public AbstractClass CreateResponse(Args args)
{
//Logic
}
public void ClearDialog()
{
//Logic
}
#endregion
#region Abstract Method
abstract protected void Responses();
#endregion
}
派生类:
public class DerivedClass : AbstractClass
{
#region Public Constructors
public DerivedClass(Args args)
: base(args)
{
}
#endregion
#region Protected Methods
protected override void Responses()
{
//logic
}
#endregion
}