إعلان
دورة تطوير التطبيقات باستخدام لغة JavaScript في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp. تعلم الآن
دورة تطوير واجهات المستخدم في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية. تعلم الآن
تطوير تطبيقات باستخدام لغة بايثون في هذه الدورة ستتعلم أساسيات البرمجة بلغة بايثون وصولاً إلى التعامل مع أشهر أطر العمل (Flask و Django) و ستتعلم كيف تبني متجر إلكتروني يمكن للمستخدمين البيع و الشراء من خلاله. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة PHP في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل. تعلم الآن
دورة تطوير تطبيقات الويب باستخدام لغة Ruby في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O. تعلم الآن
دورة علوم الحاسوب هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب. تعلم الآن

    Java أمثلة شاملة حول أماكن وضع الكلمة final في جافا

    في المثال التالي قمنا بتعريف 3 متغيرات نوعها final.
    الهدف هنا معرفة الطرق المسموح فيها إعطاء قيمة للمتغير المعرف كـ final.

    المثال الأول

    Example.java
    public class Example {
     
        public final int a = 10;   // و أعطيناه قيمة مباشرةً عند تعريفه final هنا قمنا بتعريف متغير نوعه
        public final int b;        // بدون تحديد قيمته final هنا قمنا بتعريف متغير نوعه
        public final int c;        // بدون تحديد قيمته final هنا قمنا بتعريف متغير نوعه
     
        public Example(int b) {
            this.b = b;            // من الكائن, أي أن الكائن هو من سيقوم بتحديدها b هنا سيتم تحديد قيمة المتغير
            c = 50;                // مباشرةً عند إنشاء كائن, أي أن الكائن سيملكها هكذا c هنا سيتم تحديد قيمة المتغير
        }
     
    }
    		


    في المثال التالي سنقوم بإنشاء 2 كلاس, الكلاس A و الكلاس B الذي سيرث منه.
    في الكلاس A سنقوم بتعريف دالة عادية و دالة نوعها final.
    في الكلاس B سنفعل override للدالة التي ليس نوعها final.
    بعدها سنقوم بإنشاء الكلاس Main لتجربة الكود.
    الهدف هنا معرفة أن الدوال المعرفة كـ final لا يمكن تعريفها من جديد في الكلاس الذي يرثها. إذاً الكلمة final تمنع الـ override.

    المثال الثاني

    A.java
    public class A {
     
        // final لهذه الدالة لأنها معرفة كـ Override أي كلاس سيرث من هذا الكلاس, لا يمكنه أن يفعل
        public final void firstPrint() {
            System.out.println("welcome to java");
        }
     
        // final لهذه الدالة لأنها غير معرفة كـ Override أي كلاس سيرث من هذا الكلاس, يمكنه أن يفعل
        public void secondPrint() {
            System.out.println("welcome to java");
        }
     
    }
    		

    B.java
    // و كأنها موجودة فيه تماماً A إستخدام الأشياء الموجودة في B أي يمكن للكلاس .A يرث من الكلاس B هنا قلنا أن الكلاس
    public class B extends A {
     
        // B بالنسبة للكلاس secondPrint هنا قمنا بإعادة كتابة محتوى الدالة
        @Override
        public void secondPrint() {
            System.out.println("class B override my content!");
        }
     
    }
    		

    Main.java
    public class Main {
     
        public static void main(String[] args) {
     
            A a = new A();      // a إسمه A هنا قمنا بإنشاء كائن من الكلاس
            B b = new B();      // b إسمه B هنا قمنا بإنشاء كائن من الكلاس
     
            a.firstPrint();     // A هنا سيتم تنفيذ الدالة كما تم تعريفها في الكلاس
            a.secondPrint();    // A هنا سيتم تنفيذ الدالة كما تم تعريفها في الكلاس
     
            b.firstPrint();     // A هنا سيتم تنفيذ الدالة كما تم تعريفها في الكلاس
            b.secondPrint();    // B هنا سيتم تنفيذ الدالة كما تم تعريفها في الكلاس
     
        }
     
    }
    		

    سنحصل على النتيجة التالية عند التشغيل.

    welcome to java
    welcome to java
    welcome to java
    class B override my content! 
    		


    في المثال التالي سنقوم بإنشاء كلاس نوعه final من أجل جعل الكود غير قابل لأي تعديل خارجي.
    بعدها سنقوم بإنشاء الكلاس Main لتجربة الكود.
    الهدف هنا معرفة أن الكلاس المعرف كـ final يمكن إنشاء كائنات منه, لكن لا يمكن الوراثة منه.

    المثال الثالث

    FatherOfJava.java
    // لمنع الوراثة منه فقط final هنا قمنا بتعريف الكلاس كـ
    public final class FatherOfJava {
     
        public String name = "James Arthur Gosling";
        public String born = "May 19, 1955";
     
        public void story() {
            System.out.println(name+ ", born on " +born+ ". He is a Canadian computer scientist,"
                                      + " best known as the father of the Java programming language");
        }
     
    }
    		

    Main.java
    public class Main {
     
        public static void main(String[] args) {
     
            // obj إسمه FatherOfJava هنا قمنا بإنشاء كائن من الكلاس
            FatherOfJava obj = new FatherOfJava();
     
            // كما تم تعريفها في الكلاس الأساسي name هنا سيتم عرض قيمة المتغير
            System.out.println("Name of the father of java: " +obj.name);
     
            // FatherOfJava هنا سيتم تنفيذ الدالة كما تم تعريفها في الكلاس
            obj.story();
     
        }
     
    }
    		

    سنحصل على النتيجة التالية عند التشغيل.

    Name of the father of java: James Arthur Gosling
    James Arthur Gosling, born on May 19, 1955. He is a Canadian computer scientist, best known as the father of the Java programming language 
    		
    إعلان

    Eqla3Tech.com

    شروحات مكتوبة حول لغات البرمجة و تقنية المعلومات باللغة العربية مقدمة من إقلاع تك.

    لغة جافا لغة ++C قواعد البيانات نظام ويندوز نظام لينكس الشبكات تقنية المعلومات الأمن السيبراني

    الدورات

    أدوات مساعدة

    الأقسام

    دورات
    مقالات أسئلة مشاريع كتب