• 0
issam-ahmed

إنشاء Opject من كلاس معينة بإسم متغير

سؤال

السلام عليكم و رحمة الله و بركاته

إخواني الكرام ربما إسم الموضوع لم يحمل المعنى المراد منه بشكل واضح لكن سأحاول أوضح لكم هنا

أنا يوجد لدي كلاس إسمها Patient وهي عبارة عن Double linked list و كلاس إسمها Clinic وهي عباارة عن Double linked list

ال Patient تحتوي على متغير رقمي و متغيرين من نوع نص



public void Patient(long ID, String N, String Ad)

أما Clinic فتحتوي على Ooject من نوع Patient و متغير نصي و متغير رقمي



public void ListC (long Id,String Name, Patient p)

عند عمل insert للبيانات في Clinic نعمل كالتالي:-



Clinic clc = new Clinic();
clc.insert(1, "chest", pat);

حيث pat عبارة عن أو بجكت من Patient



Patient pat = new Patient();

السؤال هنا إخواني الكرام كيف يمكنني أنا أعمل أكثر من Opject من Patient بحيث إنه أعطيه في textfield مثلاً إسم الأوبجكت الجديد

لنفرض مثلاً حطيت إسمه PatS في textfield فيروح البرنامج ماخد الإسم ده وعامل أوبجكت بالإسم ده بشكل تلقائي



Patient PatS = new Patient();

و بدل ما يكون قيمة الأوبجكت ثابتة هنا



clc.insert(1, "chest", pat);

يكون بدل pat متغير بحيث أنا أضع فيه إسم الأوبجكت الذي أريده.

ممكن بطريقة أخرى أوجز ما شرحته كيف يكون إسم الأوبجكت إلي من نوع Patient متغير بحيث أتمكن من إنشاء عدة أوبجكت بالأسماء التي أريدها

عن طريق إضافة الأسماء بال TextField.

إن شاء الله يكون طلبي واضح و شكراً لكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

3 إجابة على هذا السؤال .

  • 0

الحقيقة مشكلتك بسيطه جدا ولها اكثر من حل !

ممكن مثلا تعرف ArrayList من نوع patients

وتضع فيها الاوبجكت ثم تدرجه ف clc

 
//define the list out event handling
java.util.ArrayList<Patient> patientsList = new java.util.ArrayList<Patient>();
//____________________________________________________________
{
Patient Pat = new Patient();

patientsList .add(pat);
clc.insert(,,pat);
}

وبكدا انت عملت أكثر من Opject من Patient واحتفظت بكل المرضى فى القائمة patientsList

ملحوظة: ليس مهما ان يكون اسم الاوبجكت هو نفسه اسم المريض الذى ادخله اليوزر ف ال textfield !

يكفى انك تعمل متغير اسمه name يحمل اسم المريض كـ String variable ف الكلاس Patient

بالتوفيق ,,

تم تعديل بواسطه Mogaahed
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الحقيقة مشكلتك بسيطه جدا ولها اكثر من حل !

ممكن مثلا تعرف ArrayList من نوع patients

وتضع فيها الاوبجكت ثم تدرجه ف clc

 
//define the list out event handling
java.util.ArrayList<Patient> patientsList = new java.util.ArrayList<Patient>();
//____________________________________________________________
{
Patient Pat = new Patient();

patientsList .add(pat);
clc.insert(,,pat);
}

وبكدا انت عملت أكثر من Opject من Patient واحتفظت بكل المرضى فى القائمة patientsList

ملحوظة: ليس مهما ان يكون اسم الاوبجكت هو نفسه اسم المريض الذى ادخله اليوزر ف ال textfield !

يكفى انك تعمل متغير اسمه name يحمل اسم المريض كـ String variable ف الكلاس Patient

بالتوفيق ,,

أخي شكراً لك و بارك الله فيك، لكن ربما لم يكون طلبي واضح..

أنا في طريقتي أضيف المرضى داخل أوبجكت ما من كلاس Double linked list ثم أضيف هذا الأوبجكت داخل Double linked list خاصة بالعيادة

و هو عبارة عن مشروع لمادة و تقريباً أصبح جاهز لدي لكن أريد أن أعمله بواجهة و بهذه الطريقة فأنا يجب أن أنشيء لكل عيادة أوبجكت من سلسلة المرضى

و أضيفه للعيادة ثم أضيف المرضى له و هذا يتطلب القدرة على إنشاء اوبجكت جديد لكل عيادة جديدة يتم إنشائها و من ثم إضافة المرضى

لسلسلة المرضى لكن أنا لا أستطيع أن أتعامل مع الأوبجكت إلى من نوع Patient كمتغير أو أقوم بإنشاء عدة أوبجكت لسلسلة المرضى من خلال الواجهات

يوجد أخ تفضل علي و حكالي إنه ممكن تضيف المرضى مباشرة لكل عيادة بدل عمل أوبجكت من سلسلة المرضى ثم إضافته للعيادة و إضافة المرضى له

لكن لم أفهم كيف أقوم بإضافة كل مريض بشكل منفصل لأي عيادة ما و شكراً لك

تم تعديل بواسطه issam-ahmed
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

أنا يوجد لدي كلاس إسمها Patient وهي عبارة عن Double linked list و كلاس إسمها Clinic وهي عباارة عن Double linked list

ال Patient تحتوي على متغير رقمي و متغيرين من نوع نص

 

يبدو اني لم افهم جيداً ماتقصد 

اما اذا كنت تقصد انك جعلت الPatient (class) عباره عن Double linked list اعذرني فهذا خطأ ليس في البرمجه ولكن Data structure لها قاعده معينه واذا كسرت تصبح عباره عن object

يفضل في بداية الامر ان تقوم بانشاء 2 classes الاول خاص بالعقدة يفضل كتباته باستخدام الgeneric type هكذا

 

class listNode<E>{    E  data;    listNode<E> next;    listNode<E> prev;     listNode(E x){        data=x;        next=null;    }//listNode()  }

 

حيث ان 

listNode<E> next;

 

تشير الى العقدة اللاحقه

و

listNode<E> prev;

 

 

 

تشير الى العقده السابقة

ام class الاخر قم بعمل method(الدوال) الخاصة بالعقده مثل الاضافه او الحذف .... الخ (بحسب ماترغب به انت)

الخطوة القادمة قم بعمل class الPatient والClinic بشكل منفصل وبداخله المعلومات اتي تريدها وعند اضافة اي مريض قم بعمل object من الclass ثم قم باضافة الobject الى خانة 

 

data

الخاصة بالعقدة 

في النهايه اسف على التطويل واي خدمة انا مستعد اخي 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .