الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

class object = new class()

مغلق
بدأه mr_java2 في 17 يناير 2003 · 5 رد · 1,122 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

ارجو توضيح ما هو معنى هذه الجملة

class object = new class()

اعلم انه من خلال هذه الجملة يمكن عمل object من الكلاس class و ذلك من خلال الكونستراكتور class()

و لكن ما اريد معرفته هو كيف يتم التعامل المتغيرات و ال methods الخاصة بهذه الكلاس من خلال هذا ال object

فى حين ان هذا ال object ما هو الا مؤشر فى الذاكرة يحتوى اسم هذا ال object

- وارجو ان تقبلونى مبتدء فى منتداكم -

- و عفواً اذا كان سؤالى غبى بعض الشئ -

#2

عند تكتب كلاس معين داخل البرنامج فانه لايمكنك تنفيذ هذا الكلاس مباشرة ولكن يجب عليك عمل INSTANCE (نسخة مؤقتة) من هذا الكلاس يتم تنفيذ البرنامج عليها وهذه النسخة بالطبعة سوف تحتوى على نسخة من كل شىء موجود فى الكلاس الاصلى (METHODS,VARIABLES)

ويتم ذلك بجملة NEW وعلى هذا يمكنك ان تنشىء اكثر من نسخة (INSTANCE) من الكلاس فى نفس البرنامج وسوف يكون لكل نسخة الميثود الخاصة بها وكذلك قيم المتغيرات بدون اى تداخل بين هذه النسخ المختلفة

كنت اود ان اوضح لك برسم ولكنى لااعرف كيفية استخدام هذا الEDITOR

معذرة لهذا الكلام الكثير ولو اردت التوضيح بمثال بكل سرور

#3

اشكرك كثيراً يا اخى على سرعة الرد

جزاك الله خيراً

ان ما اريد ان استفسر عنه ( فى اعتقادى انه مفهوم

ال object oriented programming )

حيث ان ما يحيرنى هو كون الاوبجيكت مجرد

reference موجود بالذاكرة يشير الى الكلاس التابع لها

على الرغم من وجود methods و متغيرات تابعة له.

فمثلاً لقد وجدت هذا المثال باحد الكتب

;() First s = new Second

و لقد وضح الكاتب الاتى :

ان المتغير s ما هو الا object reference من النوع First و لكننا فى

الحقيقة اصبح لدينا object من النوع Second

وعليه فعندما نستخدم احد المتغيرات كان نكتب s.r فاننا بذلك نستخدم المتغير

الذى ينتمى للكلاس First.

فى حين عندما نستخدم احد ال methods التابعة للوبجيكت s فاننا بذلك نستخدم

ال method التابعة للكلاس Second

#4

اعتقد ان سؤالك متعلق بما يسمى late binding حيث ان الjava لاتربط "تختار" الmethod فى الcompile time وانما تربطها فى run time اى فى وقت التنفيذ وفى حالة الجملة

()first s=new second

فلاابد ان يكون second من نوع first اى ان second must be is the same type of first or subclass of it

والجملة كونت instance من النوع first وعلى هذا فكل المتغيرات سوف تكون من خلال first اما الmethod فسوف يتم ربطها فى مرحلة run time وحينها يكون الobjcet reference هو second وبالتالى يستخدم ال method الخاصة به

ارجو ان يكون هذا هو اجابة سؤالك وانا على استعداد لمزيد من التوضيح وسؤالك على فكرة جميل جدا ...هذا العنوان به بعض المعلومات القيمة

http://www.javaranch.com/campfire/StoryPoly.jsp

#5

اشكرك بشدة يا اخى

جزاك الله خيراً

#6

بسم الله الرحمن الرحيم

هلا (f) mr_java2 (f) و مرحبا بك فى قسم الجافا و اسف ان تأخر ترحيبى فقد ارد ان ينتهى اخى ممدوح من حديثه اولا.

أسلوب رائع اخى ممدوح. جزاك الله خيرا

خالد المصرى

هذا الموضوع مغلق.

مواضيع مشابهة