27. البرمجة الكائنية OOP - الواجهات Interfaces

  Рет қаралды 41,641

خالد السعداني - Khalid ESSAADANI

خالد السعداني - Khalid ESSAADANI

11 жыл бұрын

أكاديمية المبرمجين العرب:
www.mobarmijoun.com/

Пікірлер: 29
@salwaabdrabu5926
@salwaabdrabu5926 9 жыл бұрын
هل يسمح فى لغه السى شارب بالوراثه المتعدده Multiple Inheritance ؟ لايسمح بالسى شارب بالوراثه المتعدده من اكثر من فئه ــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــ ما هو البديل لمفهوم الوراثة المتعدده فى السى شارب ؟ البديل هو ان نقوم باستخدام الواجهات IInterface ــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــ هل يمكن استنساخ كائتنات من الواجهات ؟ #علل_جوابك لا يمكن استنساخ كائنات من الواجهات لانها تحتوى فقط على اعلان عن الوظائف والخصائص التى ستحتاجها الفئه ولا يوجد بها اى كود
@computerscience5
@computerscience5 7 жыл бұрын
interface
@BadealWeAfkar
@BadealWeAfkar 2 жыл бұрын
جزاكم الله خيرا.
@waseemalsammoue8733
@waseemalsammoue8733 2 жыл бұрын
كان من الأفضل يا اخي ان تقوم بإنشاء واجهتين اثتنين او 3 او 4 و كلاس واحد يرث منهم حتى نفهم جيدا الدرس أما ما فعلته انت حاليا يمكننا ان نقوم به بالوراثة العادية فقط .وتحياتي اخي الفاضل
@stabnashanasha6203
@stabnashanasha6203 5 жыл бұрын
ابداعك بلا حدود دام لك البشر والفرح
@Ahmeddida22
@Ahmeddida22 2 жыл бұрын
جزاكم الله خيرا
@BlueX880
@BlueX880 2 жыл бұрын
١ لا يسمح للc# بالوراثة المتعددة والبديل هو الinterface. ٣ لا يمكن استنساخ كائنات من الواجهات لانها مجردة وفقط لتنظيم العمل واجبار المبرمج على اتباع هيكل معين.
@abdelghanimellouki50
@abdelghanimellouki50 9 жыл бұрын
بارك الله فيك و جزاك الجنة..
@EiadShDarwish
@EiadShDarwish 10 жыл бұрын
بارك الله بك على هذه الدروس
@ALONSO-ls3fv
@ALONSO-ls3fv 7 жыл бұрын
بارك الله بيك
@ktna5635
@ktna5635 7 жыл бұрын
السلام عليكم ولرحمة الله وبركاته بارك الله فيك اخي العزيز ونتمنى لك كل التوفيق ونتمى اذا في محاضرات بخصوص الماتلاب في الشبكات العصبية وشكرا
@peacepaix3054
@peacepaix3054 2 жыл бұрын
شكرا جزيلا
@justmuhammad9911
@justmuhammad9911 4 жыл бұрын
الله يجزيك الخير ويبارك فيك
@mohammadakidhourieh6654
@mohammadakidhourieh6654 6 жыл бұрын
Rectangle لماذا في كلاس كتبنا private int width; private int height; اذا حدا بيعرف يفيدنا ^_^
@yassinetika9495
@yassinetika9495 7 жыл бұрын
ممتاز
@mohammadabdalhamed638
@mohammadabdalhamed638 3 жыл бұрын
لما عم اعمل كلاس ابن عم يحطلي خطأ انو ما فيني اورث من quadrangle شي وعم يضل مخططلي تحتا احمر
@saifabadi6560
@saifabadi6560 Жыл бұрын
نفس المشكله عندي
@mahmoudhegazy9390
@mahmoudhegazy9390 6 жыл бұрын
amazing
@karkargamer5523
@karkargamer5523 7 жыл бұрын
لماذا أرا كل شيئ في جافا موجود ب سي شارب لهذه الدرجة مايكروسوفة لا تستطيع أن تطور شيئ وحدها بدون سرفة
@ahmedosama8127
@ahmedosama8127 6 жыл бұрын
لأن مايكروسوفت طورتها فس الأساس لمحاربة الجافا
@mohdar2061
@mohdar2061 7 жыл бұрын
5:58🙊
@naxm1456
@naxm1456 7 жыл бұрын
استاذ خالد كيف نرث من عدة واجهات لفئة واحدة؟
@mohamed_adel1
@mohamed_adel1 7 ай бұрын
الفئة التي سترث نضع بعد : ثم إسم الواجهة الأولى , الواجهة الثانية مثال Programmer : Person1 , Person2 { //Codes }
@___1136
@___1136 5 жыл бұрын
كيف اطلع ادخل النتيجه واطبعها بدون كتابتها داخل البرنامج حاولت وماضبطت معي
@yousssef1341
@yousssef1341 7 жыл бұрын
namespace Interface { interface Quadrangle { int longeur { get; set; } int largeur { get; set; } float Surface(); } class Rectangle : Quadrangle { private int longeur; private int largeur; // constructeur public Rectangle(int lon, int lar) { this.longeur = lon; this.largeur = lar; } /* la modification des proprieté et la methode surface de l'interface dans la class rectangle */ int Quadrangle.largeur { get { return this.largeur; } set { this.largeur = value; } } int Quadrangle.longeur { get { return this.longeur; } set { this.longeur = value; } } float Quadrangle.Surface() { return this.largeur * this.longeur; } } class Program { static void Main(string[] args) { Quadrangle Qua1 = new Rectangle(50, 20); Console.WriteLine(" La surface est : {0}",Qua1.Surface()); Console.ReadKey(); } } }
@user-vh1uc2mv3u
@user-vh1uc2mv3u 7 жыл бұрын
١ لا ٢ الواجهات interfacs ٣ لا ادري
@MZDisaster
@MZDisaster 7 жыл бұрын
Inheritance describes an ( is-a ) relationship. Implementing an interface describes a ( can-do ) relationship. stackoverflow.com/questions/5816563/when-should-i-choose-inheritance-over-an-interface-when-designing-c-sharp-class
@randomviral5945
@randomviral5945 4 жыл бұрын
بشكل عام ، يذهب الحكم إلى شيء مثل هذا: يصف الوراثة علاقة. يصف تطبيق الواجهة علاقة يمكن تنفيذها. لوضع هذا في مصطلحات أكثر واقعية إلى حد ما ، دعونا ننظر إلى مثال. فئة System.Drawing.Bitmap هي صورة (وعلى هذا النحو ، فإنها ترث من فئة الصورة) ، ولكنها أيضًا يمكن التخلص منها ، لذا فهي تنفذ واجهة IDisposable. كما أنه يمكن إجراء تسلسل ، بحيث يتم تنفيذه من واجهة ISerializable. لكن من الناحية العملية ، غالبًا ما تستخدم الواجهات لمحاكاة الوراثة المتعددة في C #. إذا احتجت فئة المعالج إلى ورثها من شيء مثل System.ComponentModel.Component ، فليس لديك خيار سوى تطبيق واجهة IProcessor. الحقيقة هي أن كلاً من الواجهات والطبقة الأساسية المجردة توفر عقدًا يحدد ما يمكن لفئة معينة القيام به. إنها خرافة شائعة مفادها أن الواجهات ضرورية لإعلان هذا العقد ، لكن هذا غير صحيح. أكبر ميزة في ذهني هي أن الطبقات الأساسية المجردة تسمح لك بتوفير وظيفة افتراضية للفئات الفرعية. ولكن إذا لم تكن هناك وظيفة افتراضية منطقية ، فلا يوجد ما يمنعك من وضع علامة على الطريقة نفسها على أنها مجردة ، مما يتطلب أن تنفذ الفئات المشتقة هذه العملية بنفسها ، مثلما إذا كانت ستقوم بتنفيذ واجهة. للحصول على إجابات لأسئلة مثل هذا ، غالبًا ما أنتقل إلى إرشادات تصميم .NET Framework ، والتي يجب أن نقولها عن الاختيار بين الفئات والواجهات: بشكل عام ، الطبقات هي البنية المفضلة لفضح التجريدات. العيب الرئيسي للواجهات هو أنها أقل مرونة بكثير من الفئات عندما يتعلق الأمر بالسماح بتطوير واجهات برمجة التطبيقات. بمجرد شحن واجهة ، يتم إصلاح مجموعة أعضائها إلى الأبد. أي إضافات إلى الواجهة ستقطع الأنواع الموجودة التي تنفذ الواجهة. يقدم الفصل مرونة أكثر. يمكنك إضافة أعضاء إلى الفئات التي قمت بشحنها بالفعل. طالما أن الطريقة ليست مجردة (أي ، طالما توفر تطبيقًا افتراضيًا للطريقة) ، تستمر أي فئات مشتقة موجودة في العمل دون تغيير. [. . . ] إحدى الحجج الأكثر شيوعًا لصالح الواجهات هي أنها تسمح بفصل العقد عن التنفيذ. ومع ذلك ، تفترض الوسيطة بشكل غير صحيح أنه لا يمكنك فصل العقود عن التنفيذ باستخدام الفئات. تعد الطبقات المجردة الموجودة في مجموعة منفصلة عن تطبيقاتها الملموسة طريقة رائعة لتحقيق هذا الفصل. توصياتهم العامة هي كما يلي: هل تفضل تحديد الطبقات على واجهات. لا تستخدم فئات مجردة بدلاً من واجهات لفصل العقد من التطبيقات. فئات الملخصات ، إذا تم تعريفها بشكل صحيح ، تسمح لنفس الدرجة من الفصل بين العقد والتنفيذ. حدد واجهة إذا كنت بحاجة إلى تقديم تسلسل هرمي متعدد الأشكال لأنواع القيم. النظر في تحديد واجهات لتحقيق تأثير مماثل لذلك من الميراث متعددة. يعبر كريس أندرسون عن اتفاق خاص مع هذه العقيدة الأخيرة ، بحجة أن: تعمل أنواع الخلاصات بشكل أفضل كثيرًا ، وتتيح إمكانية التمدد في المستقبل ، لكنها تحرق أيضًا نوعك الأساسي الوحيد. تكون الواجهات مناسبة عندما تحدد حقًا عقدًا بين كائنين ثابتين بمرور الوقت. تعد أنواع القواعد المجردة أفضل لتحديد قاعدة مشتركة لمجموعة من الأنواع.
@fr.mgames996
@fr.mgames996 9 жыл бұрын
ممتاز
28. البرمجة الكائنية OOP - المفوضات Delegates - الجزء الأول
9:31
خالد السعداني - Khalid ESSAADANI
Рет қаралды 38 М.
40. برمجة الواجهات - علبة الرسائل MessageBox
13:32
خالد السعداني - Khalid ESSAADANI
Рет қаралды 37 М.
Incredible magic 🤯✨
00:53
America's Got Talent
Рет қаралды 81 МЛН
HOW DID HE WIN? 😱
00:33
Topper Guild
Рет қаралды 48 МЛН
ЧУТЬ НЕ УТОНУЛ #shorts
00:27
Паша Осадчий
Рет қаралды 4,4 МЛН
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 11 МЛН
25. البرمجة الكائنية OOP - الفرق بين new و override
12:50
خالد السعداني - Khalid ESSAADANI
Рет қаралды 34 М.
29. البرمجة الكائنية OOP - المفوضات Delegates - الجزء الثاني
10:34
خالد السعداني - Khalid ESSAADANI
Рет қаралды 29 М.
لا تتعلم البرمجة قبل مشاهدة هذا الفيديو! ❌
19:47
Incredible magic 🤯✨
00:53
America's Got Talent
Рет қаралды 81 МЛН