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

ممكن حدا يشرحلي شو هيي ال Interface

بدأه المهندس أسامة في 7 مايو 2007 · 11 رد · 1,795 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ممكن حدا يفيدني ويشرحلي شوي عن الـ interface طريقة تعريفها وشو يعني أنو الـ calss بطبق الـ Interface

واذا عندي عدة كلاسات عم يورثوا بعض فيني طبق الـ Interface على الكلاس الموروث يعني الفرعي ولا لاء لازم على الأساسي يعني المورث بس

يلي ممكن يفيدني يساعدنا في نشر العلم وياريت شي مثال مبسط لأني جديد في عالم الـ #C

ولكم جزيل الشكر

رعاكم الله

#2

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

#3

طيب انا ليا سؤال ماهى الفائده المرجوه من عمل interface إذا كنت استطيع تعريف ال method داخل ال classes بدون interface ماهو الشىء المميز الذى تقدمه ال interface أرجو دعم الإجابه بأى مثال للتوضيح

#4
semoo2006 كتب:
طيب انا ليا سؤال ماهى الفائده المرجوه من عمل interface إذا كنت استطيع تعريف ال method داخل ال classes بدون interface ماهو الشىء المميز الذى تقدمه ال interface أرجو دعم الإجابه بأى مثال للتوضيح

الوراثة المتعددة

الله معك.

#5

لا ليست الوراثة المتعدد يا أخي بارك الله فيك.. لكن افرض أخي السائل أننا نعمل في Project معاً وكنت أنا بدأت بتصميم الـ Classes وأردت منك العمل معي بنفس النظام أي تقوم بعمل Classes علي نفس المنوال فماذا سيكون الحل؟ ستقوم أنت بعمل Implementation للـ Interface اللي صممتها أنا وتسير علي نفس نهجها كي يكون هناك نمط ثابت في تصميم الـ Classes كما قال الأخ System Down.

أي يمكنك القول انه نوع من اضفاء نكهه Class علي Class أخري :)

Related

/index.php?showtopic=133848

/index.php?showtopic=79196

تم تعديل هذه المشاركة بواسطة hazzoom في 19 مايو 2008 في 02:16

#6

معقول Interface انزلت فقط من اجل تنسيق العمل بين افراد المشاريع :D

لا يا صديقي ..

تحياتي.

#7

Salam alykom

Ana sawfa orfek methaaaaaaaaaaaaaaal ala interface

ma baref leesh ma feni add file?

تم تعديل هذه المشاركة بواسطة faresc# في 19 مايو 2008 في 23:16

#8
shado كتب:

معقول Interface انزلت فقط من اجل تنسيق العمل بين افراد المشاريع :D

لا يا صديقي ..

تحياتي.

هل قرأت الموضوعين اللي أنا وضعت روابطهم قبل ما تتكلم!!

تم تعديل هذه المشاركة بواسطة hazzoom في 19 مايو 2008 في 23:27

#9

ana asef lam aqder an orfek my program

#10
namespace ExplImplement

{

interface IDimensions

{

float Length();

float Width();

}

}

namespace ExplImplement

{

class Box : IDimensions

{

float lengthInches;

float widthInches;



public Box(float length, float width) 

{

lengthInches = length;

widthInches = width;

}

// Explicit interface member implementation: 

float IDimensions.Length()

{

return lengthInches;

}

// Explicit interface member implementation:

float IDimensions.Width() 

{

return widthInches; 

}



}

}

namespace ExplImplement

{

class Program

{

static void Main(string[] args)

{ // Declare a class instance "myBox":



Box myBox = new Box(30.0f, 20.0f);



// Declare an interface instance "myDimensions":



IDimensions myDimensions = (IDimensions)myBox;



// Print out the dimensions of the box:

/* The following commented lines would produce compilation 

errors because they try to access an explicitly implemented

interface member from a class instance: */

//System.Console.WriteLine("Length: {0}", myBox.Length());

//System.Console.WriteLine("Width: {0}", myBox.Width());

/* Print out the dimensions of the box by calling the methods 

from an instance of the interface: */

System.Console.WriteLine("Length: {0}", myDimensions.Length());

System.Console.WriteLine("Width: {0}", myDimensions.Width());



Console.ReadLine();



}

}

}
#11
hazzoom كتب:
هل قرأت الموضوعين اللي أنا وضعت روابطهم قبل ما تتكلم!!

نعم قرأتهم ..واتمنا ان تقرأهم انت لكي لا تحصر عمل الـ interface في تنسيق العمل فقط

انتبه الى كلمة فقط يا صديقي ..التي اصريت عليها في مشاركتك

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

اقتباس
فلا يمكنك أن ترث من أكثر من كلاس واحد لكن يمكن أن تقوم بـ implement لأكثر من Interface - وهذه هو إختصار لجواب مسألتك

بخلاف ان interface كل ما فيها مجرد ...لكن تستطيع ان تضع بروتوكل عام فيها للاشتقاق (extends)

الله معك.

#12

كيف تطلب مني قراءتهم وأنا الذي وضعت الروابط ولو كنت انت قرأتهم لكنت وجدت لي فيهم ردود أيضا أحدها (الموجود بمنتدي فيجوال بيسك دوت نت) كنت تقدر تفهم منه اني لم أقل أنها "فقط" لتنظيم العمل وكنت ستفهم انها تعتبر "بديل" للـ Multi Inheritance الذي "لا يدعمه" الدوت نت ولا تستخدم في الـ Multi Inheritance كما قلت أنت في المشاركه الثانية في الصفحه السابقه ;)

shado كتب:

الوراثة المتعددة

وطالما أنت دقيق بهذا الشكل فلم يجدر بك قول "الوراثة المتعددة" فهذا خطأ.

علي فكره أنا أعمل بالدوت نت منذ حوالي سنتين ونصف تقريبا :)

تم تعديل هذه المشاركة بواسطة hazzoom في 27 مايو 2008 في 10:33

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