Avatar ·

Implements و extends في Java: متى تستخدم وما الفرق؟

مرحباً بالجميع! بدأت تعلم Java ولا أستطيع فهم الفرق بين الكلمتين المفتاحيتين extends و implements. يبدو أن كلاهما يُستخدمان للوراثة، لكن متى نستخدم أيهما؟ لقد كتبت كوداً صغيراً، لكنه لا يُترجم (compile) وأشعر أنني أخلط بين المفاهيم: ```java class Animal { void eat() { System.out.println("يأكل"); } } interface Pet { void play(); } // هنا لست متأكداً class Dog extends Animal implements Pet { // أحاول تجاوز (override) الطريقة من الـ interface void play() { System.out.println("يلعب بالكرة"); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.eat(); dog.play(); } } ``` الخطأ: الطريقة play() في Dog لا تتجاوز (override) الطريقة