الأحد، 8 نوفمبر 2020

شرح الوراثة بالجافا مع كود تطبيقي لعمل وراثة بين الكلاسات - Java extends

شرح الوراثة بالجافا مع كود تطبيقي لعمل وراثة بين الكلاسات - Java extends

 

'شرح كيفية عمل وراثة بين الكلاسات في الجافا


الوراثه في لغة الجافا من اهم القواعد التي يجب عليك وعلى اي مبرمج فهمها فمصطلح الوراثة هي انك تقوم بتوريث كلاس من كلاس اخر وليكن على سبيل المثال كان لديك في الكلاس الاول الاسم والعمر والمجموع وقمت بانشاء كلاس اخر وقمت بوضع فيه المدينه و التقدير وتريد ان يكون في الكلاس الثاني جميع ما في الكلاس الاول فكل ما عليك ان تضع Extend بعد public class وتكتب اسم الكلاس المراد الوراثه منه وهكذا يصبح جميع ما يحتويه الكلاس الاول موجود في الكلاس الاخر مع زيادة المدينه والاميل


 في الكود الرئيسي يمكنك ان تقوم بالاستدعاء الكلاس الاخر عن طريق d.set وستجد ما في الكلاس الاول كالاسم والجي بي اي والعمر لان الكلاس الثاني يرث من الكلاس الاول ولكن اذا قمت باستدعاء الكلاس الاول عن طريق s.set لان تجد سوا الاسم والجي بي اي والعمر فقط لانه لايرث من الكلاس الثاني وهذه فكره الوراثه في البرمجه


كيفية تعلم لغة برمجة الجافا ببساطة ؟


اللغة سهلة وغير معقدة كما يشاع ولكن ايضا ليست صعبة فهي متوسطة المميز ان البرنامج الذي يتم لبرمجة امر معين والذي يكتب بالجافا يمكن ان يعمل على مختلف انظمة التشغيل سواء كان نظام التشغيل ويندوز او ماك  و غيرة وايضا يمكن خلالها تطوير تطبيقات الاندرويد وهذا ما يميز البرنامج المكتوب باستخدام جافا وايضا نحن نقدم مشاريع جاهزة للتعديل في موقعنا ، لكتابة اول كود برمجي لك وتعلم اللغة يمكنك التوجة الى مقالة هنا ( java tutorial ) الموجودة في موقعنا حيث تم شرح فيها كتابة اول كود برمجي و ماهي البيانات التي يمكن ان تدخلها في اللغة و أساسيات اللغة ونساعدك على كتابة اول برنامج لك بلغه الجافا وبعد ذلك يمكنك اخذ كورسات او قراءة كتاب متخصص او كتب في اللغة سواء pdf اوغيرة وهذا ما ننصح لة والجافا تعد افضل من السي بلس ، بالنسبة الى التطبيقات التي تريد تطويرها بالاندرويد انصحك بتعلم الجافا ثم بعدها تعلم الكوتلن لان اللغة الرسمة حاليا هي الكوتلن أي جافا ثم كوتلن . لان بيئة العمل مختلفة والجافا اكبر الكوتلن ماهي الى تطوير للغة وهي ابسط من الجافا بكثير جدا ، وسوف نقدم شرح مكتوب للكوتلن قريبا في موقعنا 


افضل البرنامج و المحررات للكتابة بالجافا ؟


يوجد مقالة سابقة عن تحميل افضل البرنامج التي تساعدك في كتابة اكواد بلغة الجافا بسهولة ومن تلك البرامج وافضلها للمبتدئين netbeans يمكنك بناء و عمل برامج كبيرة عن طريق عن البرنامج البسيط ، ارجع الى المصدر وهو ( java compiler ) لتجد مجموعة منوعة من البرامج اللازمة  مع ذكر عيوب و مميزات كل برنامج ملاحظة هذة البرامج تعمل على جهاز الكمبيوتر  ، أو يتم استخدام مواقع اونلاين لكتابة ألاكواد عن طريق هذة المقالة ( java online compiler ) وستجد افضل محرر بداخل هذة المقالة ، ويوجد تطبيق او مجموعة تطبيقات للهاتف المحمول للاندرويد والايفون للكتابة بالجافا و يمكنك صناعه و تنفيذ من خلالها program يعمل على جهازك 


اين يكتب الكود بداخل المحرر ؟


الاكواد المكتوبة بلغة الجافا او اي لغة نقوم بكتابتها داخل class ويمكنك ربط مجموعة methods داخل الكلاس و تعمل مع بعضها البعض عند استدعائها ملاحظة : عند استدعاء اي شيئ في الجافا يجب ان تستخدم او تقوم بي إنشاء مكتبة مخصصة ( معينة ) لهذا الشيئ مثل Scanner نستدعي المكتبة المخصصة لة لعدم حدوث مشاكل والمكتبة عبارة عن مجموعة من النصوص وهذة من قواعد الجافا ، اذا كان المحرر الذي تعمل علية بسيط لا يوجد بة مكتبات سوف تجدة لا يقبل اي عملية داخلة ويجب عليك ان تقوم بعمل تنزيل الواجهات المخصصة لكل مكتبة في المحرر ليعمل وهذة المكتبات يمكنك تحميلها مجانا وانصحك بقراءة الجزء الاعلى والذي اقدم لكم فية افضل برامج لكتابة الاكواد ، اذا حدث معك مشكلة او ظهر Error في مشروع الجافا الذي تعمل علية يمكنك ترجمة الكلام ومحاولة حله ليعمل البرنامج في بيئة متكاملة بدون اخطاء 


المتطلبات التي يحتاج ان تكتب في كل كود جافا


يجب ان يحتوي كل كود مكتوب ببرمجة جافا الى مجموعة أدوات معرفة داخل البرنامج لكي يعمل معك بدون اي مشاكل ، ليس الا ان تقم بكتابة الاوامر التالية :

قبل جملة
package ###;
### : هو اسم الباكج الذي قمت بانشاه
ضغط هذا الكود
import java.util.Scanner;
فقط كل ما عليك هو تغيير
GC الى اسم الباكج الذي قمت بانشاه


الكود الرئيسي

package extend;
public class Extend {

    public static void main(String[] args) {
        extend2 s = new extend2 ();
        extend3 d = new extend3 ();
        s.setGpa(3.2);
        s.setAge(21);
        s.setName("ahmed");
        d.setCity("cairo");
        d.setAge(22);
        d.setName("mohamed");
        d.setEmail("geecoders@coder.com");
        s.print();
        d.print();
    }  
}

Class 1

package extend;
public class extend2 {
    String name;
    double gpa;
    int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public double getGpa() {
        return gpa;
    }

    public void setGpa(double gpa) {
        this.gpa = gpa;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
    
    public void print() {
        System.out.println("you name is "+name);
        System.out.println("you agr is "+age);
        System.out.println("you gpa is "+gpa);
    }  
}

Class 2

package extend;
public class extend3 extends extend2{
    String city;
    String email;

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
        public void print() {
        System.out.println("*****************");
        System.out.println("you email is "+email);
        System.out.println("you city is "+city);
        System.out.println("you gpa is "+gpa);
        System.out.println("you name is "+name);
        System.out.println("you agr is "+age);
    } 
}

لمزيد من الاكواد


احمد محمود هو طالب جامعي يدرس في احدى الجامعات المصرية , تم تاسيس موقع جي كودرس في منتصف عام 2020 حيث يسعى الموقع الى مساعدة الطلاب في تعلم البرمجة وتوفير الاكواد الجاهزة للاستخدام لمساعدة الطلاب ً