Java和C語言都支持抽象類的概念。抽象類是一個不能被實例化的類,用于定義一組抽象方法。抽象方法是一種沒有實現的方法,必須在子類中被實現。
//Java代碼 public abstract class Animal { public abstract void makeSound(); } public class Dog extends Animal { public void makeSound() { System.out.println("Woof!"); } }
在上面的Java代碼中,Animal類是一個抽象類,其中的makeSound方法是抽象的。因此,Animal類不能被實例化,只能被繼承。Dog類繼承了Animal類,并實現了makeSound方法。
//C語言代碼 typedef struct { int (*makeSound) (); } Animal; int dog_makeSound() { printf("Woof!"); } int main() { Animal dog = { &dog_makeSound }; dog.makeSound(); return 0; }
在上面的C語言代碼中,Animal是一個結構體,其中包含一個makeSound函數指針。dog_makeSound函數實現了makeSound方法。在main函數中,定義了一個Animal結構體變量dog并分配了dog_makeSound函數給makeSound指針,然后調用了該方法。
無論是Java還是C語言中,抽象類都是一種非常有用的概念,可以幫助我們更好的設計和組織代碼。
上一篇java 和 a的區別
下一篇html點贊人數代碼