منتدى مهندسي البرمجة  
 
 
         :: السلام عليكم; مبرمجة صغيرة ( الكاتب : OmarSoft )       :: ما هي لغى البايثون (تعريف البايثون) ( الكاتب : Nessayba )       :: موقع ملئ بالكتب ( الكاتب : Nessayba )       :: اكتب مجال الكتاب الذي تريد -> وأنا كفيل بــه ( الكاتب : Nessayba )       :: لا داعي لتعلم لغة C مع هذا البرنامج يحولك من الدلفي إلى C ( الكاتب : monar )       :: 30 درس فيديو لدلفى دوت نت...ادخل وحمل ( الكاتب : greenhat )       :: أفضل وأروع skin لتزيين مشاريعك في الدلفي (نسخة كاملة + شرح مصور ) ( الكاتب : روح المساء )       :: كود سورس crack rad studio 2010 up dat 4-5 ( الكاتب : chafik )       :: موقع شامل للبرمجة بالفرنسية ( الكاتب : OmarSoft )       :: حصريا الموضوع الأول عربيا .. برنامج delphi for php v2 + patch ( الكاتب : OmarSoft )      
RSS FEED

منتدى مهندسي البرمجة
العودة   منتدى مهندسي البرمجة > منتديات لغات البرمجة العام > منتدى مبرمجي لغة جافا JAVA


إضافة رد
منتدى مهندسي البرمجة
 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 03-29-2009, 08:32 AM
kadrisoft_ kadrisoft_ غير متواجد حالياً
Senior Member
 
تاريخ التسجيل: Oct 2008
المشاركات: 1,489
افتراضي ما هي الواجهات …interface !!

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




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



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

يشرح فيها مبادئ هذه اللغة بأسلوب ممتع وبسيط فقررت نقلها للمنتدى

ليستفيد منها الأعضاء وهذا بعد إذن الكاتب.



*********************************************

ما هي الواجهات …interface !!




*********************************************

السلام عليكم

كيف حالكم هل الجميع بخير ..اتمنا ذلك ..أوقات صعبة فعلا …او بالاحرة عربية صعبا ..

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

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

قد تفتقر الجافا الى تلك الميزة التي تتعهدها تلك اللغة العملاقة ++c ..لكن يجب علينا ان نتحمل عواقب الحب …هذا احدا اسباب الحب للغة المحببة او التي اطلق عليها الساحرة ..

اووه …نسيت ان اقلكم ما هي الميزة التي تتعهدها ++c ..”الوراثة المتعددة”


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

بالتاكيد نحن لا ننسى عملية الوراثة من عددة كلاسات بالسي ++ عندما كنا نعرف class A

ثم class B ثم ياتي الــclass C ويقوم بوراثة كل ميزات ما سبق من classes

كود PHP:

calss C 
:: ::A

{




ما احببت ان اطرحه من فكرة باننا ايضا لسنا عاجزين عن عمليات الوراثة المتعددة بالجافا

من خلال الــ Interfaces

بالبداية وقبل الاكواد دعونا نعرف ما هي Interface

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

بمعنى اخر .. عند تعريف Interface نقوم بتعريف متحولات وطرائق منهجية مجردة لا تحوي اي شئ في جسمها من تعابيرة اخراجية ..اي لا تنفذ دون تحقيقها implements

ماا نستفيد منها؟

كما قلنا بان هناك مبادئ برمجية معينة قد يتبعها عدة مبرمجين لتنظيم برنامجهم

وخوفا من تعديل مبرمج لمعلومة كتبها مبرمج اخر

هوا مجرد تنظيم بالاضافة الى امكانية لا استطيع ان اسميها وراثة متعددة مباشرة

لكن يساعد في تحقيق قريب نوعا ما من الوراثة المتعددة دون وجود اي اخطاء.



كود PHP:
interface print{

int i=100;

void show();

}

class 
SHOW implements print {

public 
void show()

{

System.out.println(i);

}

}

class 
main {

public static 
void main(String args[]) {

SHOW s=new SHOW();

s.show();

}




هل نشرح الكود ..”طبعا ولماذا كتبته اذا لا تريد ان تشرحه”

طريقة تعريف interface تبدأ بالكلمة المفتاحية interface ثم اسم الــinterface hg الذي نريده وكما لاحظنا هنا


وضعنا ما نريد ان تنفذه الــinterface كتعابير فقط من method

والان عند class show نقوم بعملية تحقيق لل ـinterface بذكر الكلمة المفتاحية implements .. وداخل الــ class نقوم بعملية implement للتوابع والمتحولات interface تقوم بعملية طباعة مثلا على سبيل المثال


لا بد من اكمال الفكرة لكم عن الواجهات بشكل عام …

لقد تبوهت بكلمة قد تقضي علي من بعض المبرمجين المحترفين في الجافا وهي عندما قلت لجملة الوراثة المتعددة ..لكن لا بد بان اشرح لكم تلك وجهة النظر يا شباب هدو اعصابكم …

انتبه ؟.

كود PHP:

interface print_I{

int i=100;

void showI();

}

interface 
print_J{

int j=50;

void showJ();

}

class 
SHOW implements print_I,print_J

{

public 
void showI()

{

System.out.println(i);

}

public 
void showJ()

{

System.out.println(j);

}

}
//end class 


هااا..ما زلتم ..نلاحظ ها السطر

كود PHP:

class SHOW implements print_I,print_J 




الا يذكركم بـــ



كود PHP:
calss C :: ::




اذا الهدف قريب …بوجهة نظري …


لن انسى ان اذكركم بموضوع وراثة الواجهات من بعضها



كود PHP:
interface extends 




والتحقيق للواجهة كالعادة لاخر واجهة ورثت..


كود PHP:
class IMP implements 


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

نصرهم الله .

الله معكم..








رد مع اقتباس
  #2  
قديم 05-29-2009, 10:45 AM
أجمل ما لينوكس أجمل ما لينوكس غير متواجد حالياً
Member
 
تاريخ التسجيل: Jan 2009
المشاركات: 61
افتراضي

ههههههههه يا الاهي .... شرح جميل ....



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



طيب يا أستادي ... ممكن سؤال؟؟



يعني عندما حدثتنا عن:



class IMP implements b



ما نستطيع أن نعمل وراثة في الكلاس؟

مثلا



class IMP Extends C implements b



سؤال أخر...(كثيرة الاسئلة انا ههههه)

في المثال:





اقتباس:

interface print{

int i=100;

void show();

}

class
SHOW implements print {

public
void show()

{

System.out.println(i);

}


استعملت مباشرتا i ؟؟ لمادا



أرجو أن لا أكون قد ازعجتك بكلااامي و أسئلتي الكثير يا أستاد
رد مع اقتباس
  #3  
قديم 06-03-2009, 07:13 PM
shadi alradi shadi alradi غير متواجد حالياً
Junior Member
 
تاريخ التسجيل: Jun 2009
المشاركات: 6
افتراضي

بالنسبة للكلمات المترجمة او التي لا تفهمي معناها ...

فان كنتي من ذوي الابداع في البرمجة فانا لا اخص فئة معينة من المبرمجين

بل ابدأ واقول كل ما يخطر ببال اي مبرمج حتى من الصفر



اقتباس:


class IMP Extends C implements b


الواجهة تحقق

هذا الكود يعطي خطأ بالـ compiler



ودائما يجب ان تعرفي بان الواجهة لا تحوي سوا توقيع للمتحولات والدوال





اقتباس:
استعملت مباشرتا i ؟؟ لمادا



أرجو أن لا أكون قد ازعجتك بكلااامي و أسئلتي الكثير يا أستاد


ماذا تقصدي استعملت مباشرة i

قلنا هوا مجرد توقيع

تستثمريه وقت التحقيق



بالتوفيق

الله معك
رد مع اقتباس
  #4  
قديم 06-05-2009, 10:35 AM
أجمل ما لينوكس أجمل ما لينوكس غير متواجد حالياً
Member
 
تاريخ التسجيل: Jan 2009
المشاركات: 61
افتراضي

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



أخي شادي

اقتباس:

بالنسبة للكلمات المترجمة او التي لا تفهمي معناها ...

فان كنتي من ذوي الابداع في البرمجة فانا لا اخص فئة معينة من المبرمجين

بل ابدأ واقول كل ما يخطر ببال اي مبرمج حتى من الصفر


ههههه قصدي أني أتعلم معك معاني الكلمات بالعربية لأن أغلب المراجع أجنبية



يعني تأخد مني ثانيتين زيادة لربط المعاني ....ههههه



اقتباس:

ودائما يجب ان تعرفي بان الواجهة لا تحوي سوا توقيع للمتحولات والدوال


شكرا ....



مفهوم....
رد مع اقتباس
  #5  
قديم 07-25-2009, 12:43 AM
zakpro zakpro غير متواجد حالياً
Junior Member
 
تاريخ التسجيل: Jul 2009
المشاركات: 16
افتراضي

بارك الله فيك و جزاك خيرا
رد مع اقتباس
  #6  
قديم 09-28-2009, 01:46 PM
Dream_VBasic Dream_VBasic غير متواجد حالياً
Senior Member
 
تاريخ التسجيل: Oct 2008
المشاركات: 740
افتراضي

مشكوووووور والله يعطيك الف عافيه
رد مع اقتباس
  #7  
قديم 07-18-2010, 09:45 PM
أجمل ما لينوكس أجمل ما لينوكس غير متواجد حالياً
Member
 
تاريخ التسجيل: Jan 2009
المشاركات: 61
افتراضي

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


أساتدتي ..نريد دروسا جديدة ... أفيدونا جزاكم الله خيرا
رد مع اقتباس
إضافة رد

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 10:21 AM.

اللغة المظهر
:: aLhjer Design ::
Powered by vBulletin® Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. TranZ By Almuhajir