إعلان
دورة تطوير التطبيقات باستخدام لغة 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 مثال حول تعريف Generic Class و إنشاء كائن منه في جافا

    في المثال التالي قمنا بتعريف كلاس إسمه Box, يملك نوع بيانات مجهول رمزنا له بالحرف T.
    في هذا الكلاس قمنا بتعريف متغير إسمه x نوعه T.

    ثم قمنا ببناء دوال للتعامل مع المتغير x:

    • الدالة getX()تستخدم لجلب قيمة المتغير x.
    • الدالة setX()تستخدم لتحديد قيمة المتغير x.

    في الأخير قمنا بإنشاء الكلاس Main لتجربة إنشاء كائنات من الكلاس Box.


    إنتبه

    عند إنشاء كائن من الكلاس Box في حال لم تقم بوضع كلاس مكان الحرف <T> سيتم إعتبار x من النوع Object.
    أما في حال قمت بوضع كلاس مكان الحرف <T>, سيتم تبديل جميع الأحرف T الموجودة في الكلاس Box بإسم الكلاس الذي أدخلته مكانها.


    Box.java
    public class Box <T> {
     
        private T x;
     
        public void set(T x) {
            this.x = x;
        }
     
        public T get() {
            return x;
        }
     
    }
    		

    Main.java
    public class Main {
     
        public static void main(String[] args) {
     
            // يمكنه تخزين أي نوع بيانات objectBox إسمه Box هنا قمنا بتعريف كائن من الكلاس
            Box objectBox = new Box();
     
            // Object ملاحظة سيتم تخزين النص كـ .x سيتم تخزين هذه القيمة في المتغير .String هنا أدخلنا فيه قيمة نوعها
            objectBox.set( "object type can store any type of data" );
     
            // أيضاً Object القيمة التي سترجع هنا يكون نوعها .x هنا قمنا بإرجاع القيمة التي تم تخزينها في المتغير
            System.out.println("objectBox contains: " + objectBox.get());
     
            // أيضاً Object مكان القيمة السابقة, و سيتم تخزينها كـ x سيتم تخزين هذه القيمة في المتغير .Integer هنا أدخلنا فيه قيمة نوعها
            objectBox.set( 1234 );
     
            // أيضاً Object القيمة التي سترجع هنا يكون نوعها .x هنا قمنا بإرجاع القيمة التي تم تخزينها في المتغير
            System.out.println("objectBox contains: " + objectBox.get());
     
     
     
            // Integer يمكنه فقط تخزين قيم نوعها integerBox إسمه Box هنا قمنا بتعريف كائن من الكلاس
            Box<Integer> integerBox = new Box();
     
            // أيضاً Integer و الذي أصبح نوعه x سيتم تخزين هذه القيمة في المتغير .Integer هنا قمنا بإدخال قيمة فيه نوعها
            integerBox.set( 100 );
     
            // أيضاً Integer القيمة التي سترجع هنا يكون نوعها .x هنا قمنا بإرجاع القيمة التي تم تخزينها في المتغير
            System.out.println("integerBox contains: " + integerBox.get());
     
     
     
            // String يمكنه فقط تخزين قيم نوعها stringBox إسمه Box هنا قمنا بتعريف كائن من الكلاس
            Box<String> stringBox = new Box();
     
            // أيضاً String و الذي أصبح نوعه x سيتم تخزين هذه القيمة في المتغير .String هنا قمنا بإدخال قيمة فيه نوعها
            stringBox.set( "Hello, my type is String" );
     
            // أيضاً String القيمة التي سترجع هنا يكون نوعها .x هنا قمنا بإرجاع القيمة التي تم تخزينها في المتغير
            System.out.println("stringBox contains: " + stringBox.get());
     
        }
     
    }
    		

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

    objectBox contains: object type can store any type of data
    objectBox contains: 1234
    integerBox contains: 100
    stringBox contains: Hello, my type is String
    		

    إذاً نقوم بتعريف الكلاس كـ Generic عندما يكون عندنا عمليات في هذا الكلاس تطبق على أكثر من نوع.
    فبدل إنشاء كلاس للتعامل مع كل نوع على حدة, نعرف الكلاس كـ Generic , و نحدد النوع الذي نريد التعامل معه أثناء إنشاء كائن من هذا الكلاس.

    إعلان

    Eqla3Tech.com

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

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

    الدورات

    أدوات مساعدة

    الأقسام

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