الوقت/التاريخ الآن هو الجمعة أغسطس 07, 2020 1:25 am

1 نتيجة بحث عن clone

[Java] الطرق المختلفة لانشاء الكائنات فى الجافا create objects in Java

اهلا بكم

كوننا مطورين جافا ، فإننا عادةً ما نتعامل بكثرة مع الكائنات #objects ، لكننا دائمًا ما نستخدم طريقة واحدة لإنشاء هذه الكائنات. ومع ذلك ، هناك المزيد من الطرق لإنشاء الكائنات فى الجافا ، والتي سنحاول دراستها في هذه المقالة.

1_ الطريقة الاولى إستخدام الكلمة new

إنها الطريقة الأكثر شيوعًا فى إنشاء الكائنات وذلك لانها تعتبر اسهل طريقة على الاطلاق لذلك فإن 98% من مطوري الجافا يستخدون هذا الطريقة . حيث من خلال استخدام هذه الطريقة ، يمكننا استدعاء أي دوال الفئة المنشء منها هذا الكائن حتى منشىء تلك الفئة #constructor ...ويتم استخدامها على النحو التالى :
الكود:
MyObject object = new MyObject();


ايضا يمكنك تمرير معلمات الى منشىء الفئة على النحو التالى :

الكود:
MyObject object = new MyObject(2,4);



2_الطريقة الثانية باستخدام الدالة Class.forName

إذا كنا نعرف اسم الفئة أو الكلاس التى نريد إنشاء كائن منها وما إذا كان لديها مُنشئ افتراضي عام ، فيمكننا إنشاء كائن جديد باستخدام الاسلوب #newInstance التابع للطريقة #Class.forName ...فمثلا اذا كانت الفئة #MyObject تنتمى الى الحزمة #test فاننا يمكننا انشاء كائن جديد منها على النحو التالى :

الكود:
MyObject object = (MyObject) Class.forName("test.MyObject").newInstance();


لكن تلك الطريقة فى إنشاء الكائنات ترمى الاستثنائات التالية :

ClassNotFoundException و InstantiationException , IllegalAccessException

لذلك يجب معالجتها على النحو التالى :

الكود:
try {
            MyObject object = (MyObject) Class.forName("test.MyObject").newInstance();
            
                        
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
        }



3_الطريقة الثالثة باستخدام الدالة clone()

فى الحقيقة أن هذه الطريقة لا تقوم بانشاء كائن جديد إنما تقوم بإنشاء نسخة من كائن موجود بالفعل و بالتالى فانت مجبر على إنشاء كائن بعد ذلك يمكن باستخدام الدالة #clone نسخ هذا الكائن الى كائن اخر على النحو التالى :

الكود:
MyObject anotherObject = new MyObject();
MyObject object = anotherObject.clone();


باستخدام أسلوب النسخ أعلاه لا يمكن استدعاء أي مُنشئ للفئة

4_ الطريقة الرابعة باستخدام مرجع الكائن object reference

على الرغم من أن تلك الطريقة لا تقوم بانشاء كائن فى حد ذاته وانما تقوم بانشاء مرجع #reference هو عنوان يشير إلى مكان تخزين متغيرات وأساليب هذا الكائن...وبالتالى تصبح المراجع في #Java مهمة بشكل خاص عند تمرير الوسيطات إلى الأساليب ويتم ذلك على النحو التالى :

الكود:
MyObject object ;



5_باستخدام إلغاء التسلسل deserialization

الكود:
ObjectInputStream inStream = new ObjectInputStream(new FileInputStream("data.obj"));
       MyObject object = (MyObject) inStream.readObject();
من طرف أحمد مناع
في السبت فبراير 16, 2019 6:01 pm
 
ابحث في: أساسيات اللغة Java Basics
موضوع: [Java] الطرق المختلفة لانشاء الكائنات فى الجافا create objects in Java
المساهمات: 0
مشاهدة: 277

الرجوع الى أعلى الصفحة

انتقل الى: