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

ما الذي تعرفه عن الطريقة equal

مغلق
بدأه joo في 10 يوليو 2004 · 7 رد · 1,041 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

What do you know about (equal method

في جافا إن عملية المقارنة بين الانماط البدائية تتم باستعمال العملية = = أما إذا استعملنا العملية السابقة للمقارنة بين الأغراض فإنها تقوم بالمقارنة بين عناويين الاغراض وليس الاغراض بحد ذاتهم

أما إذا أردنا أن تتم المقارنة بين محتوى الاغراض يجب علينا استعمال الطريقة

Equal( )

وحسب طبيعة المقارنة التي تريدها أن تتم يجب عليك إعادة تعريف هذه الطريقة في الصف الذي تنشئه بحيث تلائم إحتياجاتك , ولكن عليك أثناء إعادة تعريفها مراعاة مايلي :

1 – يجب أن يكون المعامل الذي يدخل للإجرائية هو من نمط

Object

و إياك ثم إياك أن تجعلة من نمط الصف الذي تبنيه , لأنك بهذه الطريقة تقوم بعملية تحميل زائد أي ما يعرف ب

overload

بدل القيام بعملية

Override

2 – في حال كنت تنوي أن تدخل أغراض من صفك في

Map

(الذي هو بمثابة جدول تقطيع )

عليك أن تعرف الطريقة

hashCode( )

(التي هي بمثابة تابع تقطيع ) ,بحيث تعطي هذه الطريقة بالنسبة لغرضين( متساويين بعد تطبيق الطريقة

Equal( )

عليهم )

نفس القيمة , حتى يدخلوا بنفس المدخل من جدول التقطيع, و إلا فقدنا فعالية جدول التقطيع

ملاحظة :

في أسوأ الاحوال أجعل الطريقة

hashCode( )

تعيد نفس القيمة ولتكن قيمة ثابتة لكل العناصر,صحيح أن جدول التقطيع عندها سيتصرف ك

linkedList( )

لكن تعريف الطريقة

hashCode( )

عندها على الاقل سيكون صحيحاً

ملاحظة خاصة :

أناأدرس هذه الأفكار أثناء دراستي لشهادة

Java Certificate

وأحببت أن أوصلها لكم لتعم الفائدة,فيرجى إذا لم تكن أحد الأفكار واضحة الإشارة لذلك , و سأقوم بشرحها بالتفصيل

وشكراً لكم .

#2

اقدر جهدك أخي Joo ولكن المشكلة ان المصطلحات العربية اللتي استخدمتها لا تعني لي شيأ البته...رغم انني اعرف ما تقصده مسبقًا...

هل استخدمت مرجعًا تأخذ منه ترجمة المصطلحات...إذا كان ذلك رجاءً دلني عليه..فأنا لي محاولات في الترجمه...ولكن كل شئ اكتبه لا يعني لي شيء فكيف بالقارء....

اشكرك مجددًا متمنيًا لك التوفيق والنجاح

#3

أنا اتفق تماما مع الاخ code2263

فأنا لا أعرف مامعنى

- معامل

-اجرائية

-نمط

- صف (اعتقد اني افهم هذه )

- جدول تقطيع

أنا اشكرك على جهدك الجميل أخي joo

ولو وضحت الامر بمثال

لأجدت وازدت احسانا

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#4

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

السلام عليكم أما بعد:

فبالنسبة للتعريب , فلقد درست لغة جافا من عدة مصادر منها ما هو عربي مثل

(java 2 (

ترجمة المهندس : فادي حجار

أما المراجع الأجنبية فهي :

Thinking in java

Complate Java 2 Certification Study Guid

وهي كلها كتب قيمة جداً ,و بنتيجة هذه الدراسة أصبحت

قادراً على المطابقة بين المصطلحات العربية و الأجنبية

كما أنه من المهم ترجمة هذه المصطلحات حتى لا تبقى البرمجة حصراً على فئة معيّنة.

-------------

سأحاول من الان فطالعاًأن أرفق المصطلح الاجنبي مع المصطلح العربي.

فبالنسبة للرسالة السابقة فقد كانت لدينا المصطلحات التالية:

Parameter = معامل

Method = اجرائية

Type = نمط

Object = غرض

Class = صف

hashCode {

وهو المقصود به تابع التقطيع أي إننا ندخل القيم لجدول التقطيع بناءً على قيم هذا التابع ))}

hashTable = جدول تقطيع

أما بالنسبة للمثال البرمجي الذي طلبه الأخ

MEMONONO

فهو التالي:

ليكن لدينا الصف التالي :

Class Student{

Private string name;

Private byte age;

Private byte mark;

}

كان سن و علامة الطالب الاول = سن و علامة الطالب الثاني و بفرض أن طالبين يعتبران متكافئين إذا :

عندها يجب تعريف الطريقة

Equal

كما يلي : ضمن الصف

public boolean equals(Object obj){

Student std = (Student) obj ;

If ( (this .age= =obj.age)&&(this .mark = = obj.mark ))

return true ;

else

return false;

}

وبفرض أننا أردنا تخزين الأغراض من نمط

Student

في جدول تقطيع ,( وذلك بهدف فعالية التخزين)بحيث يكون الطلاب الأكفاء ضمن نفس المدخل عندها يجب تعريف تابع التقطيع ضمن الصف كما يلي :

public int hashCode(){

return age+mark;

}

وحتى نضمن الوحدانية تشكل أفضل للقيم التي يعيدها تابع التقطيع ,سنعرفة كما يلي :

public int hashCode(){

return (int ) (Math.pow(2,mark)+ Math.pow(2,age))

}

وهو يضمن لنا أنه في حال كان لدينا طاليين أكفاء فإنهما سيندرجان تحت نفس المدخل.

---------------------------------------------------------------------------------------------

أما الان فأرجو أن تكون الفكرة قد اتضحت بشكل جيد , وفي حال وجود أي تساؤل أرجو أن لا تترددوا في القيام بذلك

#5

شكرا لك أخي

كفيت ووفيت

جزاك الله عنا كل خير

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#6

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

في صفحة الموسوعة العربية للكمبيوتر والأنترنت لديهم قاموس قيم لمصطلحات البرمجة. أضن انه من الأحسن ان نستعمل مصطلحات موحدة بين المبرمجين العرب.

#7

اخي كلامك مختلف عندنا قليلا شو اعلمل:

فبالنسبة للرسالة السابقة فقد كانت لدينا المصطلحات التالية:

Parameter = توابع او ملحقات

Method = طريقة (اظن هذه اصح)

Type = نوع او نمط (هذه لا باس)

Object = غرض

Class = صف

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why

#8

أظن ان معامل افضل من ملحقات

لأن prameter

يعتبر مدخلات المعادلة

في الرياضيات

وبما ان الجافا تستخدم Method لتنفذ شيء معين

فالـ prameter هو مدخلاتها

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

لأنها غير قابلة للتجزئة ، وتختلف فيما بينها بالألوان و الأشكال ، وتمتلك القدرة على تكوين علاقات مع بعض. نستطيع أن نقول أن أجزاء الليغو أبدية. وهي تشبه الذرات في تراكيبها للكون

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

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

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