擴充套件抽象基類
與介面(可以描述為實現合同)不同,抽象類充當擴充套件合同。
抽象類無法例項化,必須進行擴充套件,然後可以例項化生成的類(或派生類)。
抽象類用於提供通用實現
public abstract class Car
{
public void HonkHorn() {
// Implementation of horn being honked
}
}
public class Mustang : Car
{
// Simply by extending the abstract class Car, the Mustang can HonkHorn()
// If Car were an interface, the HonkHorn method would need to be included
// in every class that implemented it.
}
上面的示例顯示了任何擴充套件 Car 的類將如何自動接收帶有實現的 HonkHorn 方法。這意味著任何開發新車的開發人員都不需要擔心它是如何鳴喇叭的。