我得到了密封抽象类的示例代码。我只是知道密封抽象类的用途是什么。无论什么是必须扩展的抽象和密封关键字阻止扩展类。所以当课堂密封时抽象然后它可以扩展和实例化。那么密封抽象类的真正用途是什么?
有人告诉我它会解决静态类的目的。如果可能的话,当需要一个类设计为密封的抽象类时,请讨论使用密封的抽象类,几个示例代码和场景。sealed abstract class BaseBook : IBook
{
private string _title;
public virtual string Author
{
get
{
Console.WriteLine("Base book GET!");
return _title;
}
set
{
Console.WriteLine("Base book SET!");
_title = value;
}
}
public string Title
{
get;
set;
}
}
感谢
答案 0 :(得分:9)
此代码无法编译。一堂课不能抽象和封印。这没有任何意义:
CS0418 - 'BaseBook': an abstract class cannot be sealed or static
答案 1 :(得分:6)
MSDN:It is not permitted to use the abstract modifier with a sealed class.
链接:http://msdn.microsoft.com/en-us/library/88c54tsw%28v=vs.71%29.aspx
希望能回答你的问题。
答案 2 :(得分:5)
C#不允许你有一个密封和抽象的类。它不会编译。对于静态类(仅使用静态方法),将其标记为静态以防止意外实例化。
答案 3 :(得分:2)
因为它不存在所以没有用处。
答案 4 :(得分:2)
首先,您无法在C#中声明sealed abstract
类,这是非法的
所以当课堂密封时抽象然后它可以扩展并实例化
不,相反;它既不能被继承也不能被实例化......