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

  Рет қаралды 42,140

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

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

Күн бұрын

Пікірлер: 29
@stabnashanasha6203
@stabnashanasha6203 6 жыл бұрын
ابداعك بلا حدود دام لك البشر والفرح
@salwaabdrabu5926
@salwaabdrabu5926 9 жыл бұрын
هل يسمح فى لغه السى شارب بالوراثه المتعدده Multiple Inheritance ؟ لايسمح بالسى شارب بالوراثه المتعدده من اكثر من فئه ــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــ ما هو البديل لمفهوم الوراثة المتعدده فى السى شارب ؟ البديل هو ان نقوم باستخدام الواجهات IInterface ــــــــــــــــــــــــــــــــــــــــــــــــ ـــــــــــــــــــــــــ ــــــــــــــــــــــــــــــــــــــــــــــ هل يمكن استنساخ كائتنات من الواجهات ؟ #علل_جوابك لا يمكن استنساخ كائنات من الواجهات لانها تحتوى فقط على اعلان عن الوظائف والخصائص التى ستحتاجها الفئه ولا يوجد بها اى كود
@computerscience5
@computerscience5 7 жыл бұрын
interface
@waseemalsammoue8733
@waseemalsammoue8733 2 жыл бұрын
كان من الأفضل يا اخي ان تقوم بإنشاء واجهتين اثتنين او 3 او 4 و كلاس واحد يرث منهم حتى نفهم جيدا الدرس أما ما فعلته انت حاليا يمكننا ان نقوم به بالوراثة العادية فقط .وتحياتي اخي الفاضل
@ktna5635
@ktna5635 7 жыл бұрын
السلام عليكم ولرحمة الله وبركاته بارك الله فيك اخي العزيز ونتمنى لك كل التوفيق ونتمى اذا في محاضرات بخصوص الماتلاب في الشبكات العصبية وشكرا
@BadealWeAfkar
@BadealWeAfkar 3 жыл бұрын
جزاكم الله خيرا.
@abdelghanimellouki50
@abdelghanimellouki50 10 жыл бұрын
بارك الله فيك و جزاك الجنة..
@Ahmeddida22
@Ahmeddida22 2 жыл бұрын
جزاكم الله خيرا
@BlueX880
@BlueX880 3 жыл бұрын
١ لا يسمح للc# بالوراثة المتعددة والبديل هو الinterface. ٣ لا يمكن استنساخ كائنات من الواجهات لانها مجردة وفقط لتنظيم العمل واجبار المبرمج على اتباع هيكل معين.
@mohammadabdalhamed638
@mohammadabdalhamed638 4 жыл бұрын
لما عم اعمل كلاس ابن عم يحطلي خطأ انو ما فيني اورث من quadrangle شي وعم يضل مخططلي تحتا احمر
@saifabadi6560
@saifabadi6560 2 жыл бұрын
نفس المشكله عندي
@EiadShDarwish
@EiadShDarwish 11 жыл бұрын
بارك الله بك على هذه الدروس
@Bet-Mas
@Bet-Mas 7 жыл бұрын
بارك الله بيك
@justmuhammad9911
@justmuhammad9911 4 жыл бұрын
الله يجزيك الخير ويبارك فيك
@naxm1456
@naxm1456 7 жыл бұрын
استاذ خالد كيف نرث من عدة واجهات لفئة واحدة؟
@mohamed_adel1
@mohamed_adel1 Жыл бұрын
الفئة التي سترث نضع بعد : ثم إسم الواجهة الأولى , الواجهة الثانية مثال Programmer : Person1 , Person2 { //Codes }
@mohammadakidhourieh6654
@mohammadakidhourieh6654 7 жыл бұрын
Rectangle لماذا في كلاس كتبنا private int width; private int height; اذا حدا بيعرف يفيدنا ^_^
@peacepaix3054
@peacepaix3054 3 жыл бұрын
شكرا جزيلا
@___1136
@___1136 5 жыл бұрын
كيف اطلع ادخل النتيجه واطبعها بدون كتابتها داخل البرنامج حاولت وماضبطت معي
@karkargamer5523
@karkargamer5523 7 жыл бұрын
لماذا أرا كل شيئ في جافا موجود ب سي شارب لهذه الدرجة مايكروسوفة لا تستطيع أن تطور شيئ وحدها بدون سرفة
@ahmedosama8127
@ahmedosama8127 7 жыл бұрын
لأن مايكروسوفت طورتها فس الأساس لمحاربة الجافا
@mahmoudhegazy9390
@mahmoudhegazy9390 7 жыл бұрын
amazing
@yassinetika9495
@yassinetika9495 8 жыл бұрын
ممتاز
@yousssef1341
@yousssef1341 8 жыл бұрын
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(); } } }
@mohdar2061
@mohdar2061 8 жыл бұрын
5:58🙊
@user-vh1uc2mv3u
@user-vh1uc2mv3u 7 жыл бұрын
١ لا ٢ الواجهات interfacs ٣ لا ادري
@MZDisaster
@MZDisaster 8 жыл бұрын
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 5 жыл бұрын
بشكل عام ، يذهب الحكم إلى شيء مثل هذا: يصف الوراثة علاقة. يصف تطبيق الواجهة علاقة يمكن تنفيذها. لوضع هذا في مصطلحات أكثر واقعية إلى حد ما ، دعونا ننظر إلى مثال. فئة System.Drawing.Bitmap هي صورة (وعلى هذا النحو ، فإنها ترث من فئة الصورة) ، ولكنها أيضًا يمكن التخلص منها ، لذا فهي تنفذ واجهة IDisposable. كما أنه يمكن إجراء تسلسل ، بحيث يتم تنفيذه من واجهة ISerializable. لكن من الناحية العملية ، غالبًا ما تستخدم الواجهات لمحاكاة الوراثة المتعددة في C #. إذا احتجت فئة المعالج إلى ورثها من شيء مثل System.ComponentModel.Component ، فليس لديك خيار سوى تطبيق واجهة IProcessor. الحقيقة هي أن كلاً من الواجهات والطبقة الأساسية المجردة توفر عقدًا يحدد ما يمكن لفئة معينة القيام به. إنها خرافة شائعة مفادها أن الواجهات ضرورية لإعلان هذا العقد ، لكن هذا غير صحيح. أكبر ميزة في ذهني هي أن الطبقات الأساسية المجردة تسمح لك بتوفير وظيفة افتراضية للفئات الفرعية. ولكن إذا لم تكن هناك وظيفة افتراضية منطقية ، فلا يوجد ما يمنعك من وضع علامة على الطريقة نفسها على أنها مجردة ، مما يتطلب أن تنفذ الفئات المشتقة هذه العملية بنفسها ، مثلما إذا كانت ستقوم بتنفيذ واجهة. للحصول على إجابات لأسئلة مثل هذا ، غالبًا ما أنتقل إلى إرشادات تصميم .NET Framework ، والتي يجب أن نقولها عن الاختيار بين الفئات والواجهات: بشكل عام ، الطبقات هي البنية المفضلة لفضح التجريدات. العيب الرئيسي للواجهات هو أنها أقل مرونة بكثير من الفئات عندما يتعلق الأمر بالسماح بتطوير واجهات برمجة التطبيقات. بمجرد شحن واجهة ، يتم إصلاح مجموعة أعضائها إلى الأبد. أي إضافات إلى الواجهة ستقطع الأنواع الموجودة التي تنفذ الواجهة. يقدم الفصل مرونة أكثر. يمكنك إضافة أعضاء إلى الفئات التي قمت بشحنها بالفعل. طالما أن الطريقة ليست مجردة (أي ، طالما توفر تطبيقًا افتراضيًا للطريقة) ، تستمر أي فئات مشتقة موجودة في العمل دون تغيير. [. . . ] إحدى الحجج الأكثر شيوعًا لصالح الواجهات هي أنها تسمح بفصل العقد عن التنفيذ. ومع ذلك ، تفترض الوسيطة بشكل غير صحيح أنه لا يمكنك فصل العقود عن التنفيذ باستخدام الفئات. تعد الطبقات المجردة الموجودة في مجموعة منفصلة عن تطبيقاتها الملموسة طريقة رائعة لتحقيق هذا الفصل. توصياتهم العامة هي كما يلي: هل تفضل تحديد الطبقات على واجهات. لا تستخدم فئات مجردة بدلاً من واجهات لفصل العقد من التطبيقات. فئات الملخصات ، إذا تم تعريفها بشكل صحيح ، تسمح لنفس الدرجة من الفصل بين العقد والتنفيذ. حدد واجهة إذا كنت بحاجة إلى تقديم تسلسل هرمي متعدد الأشكال لأنواع القيم. النظر في تحديد واجهات لتحقيق تأثير مماثل لذلك من الميراث متعددة. يعبر كريس أندرسون عن اتفاق خاص مع هذه العقيدة الأخيرة ، بحجة أن: تعمل أنواع الخلاصات بشكل أفضل كثيرًا ، وتتيح إمكانية التمدد في المستقبل ، لكنها تحرق أيضًا نوعك الأساسي الوحيد. تكون الواجهات مناسبة عندما تحدد حقًا عقدًا بين كائنين ثابتين بمرور الوقت. تعد أنواع القواعد المجردة أفضل لتحديد قاعدة مشتركة لمجموعة من الأنواع.
@fr.mgames996
@fr.mgames996 10 жыл бұрын
ممتاز
28. البرمجة الكائنية OOP - المفوضات Delegates - الجزء الأول
9:31
خالد السعداني - Khalid ESSAADANI
Рет қаралды 39 М.
OOP in Arabic - #10 Abstraction - Interface
24:56
Omar Ahmed
Рет қаралды 34 М.
Почему Катар богатый? #shorts
0:45
Послезавтра
Рет қаралды 2 МЛН
Jaidarman TOP / Жоғары лига-2023 / Жекпе-жек 1-ТУР / 1-топ
1:30:54
إختبار ال OOP
29:42
Mohamed Moshrif
Рет қаралды 12 М.
38. برمجة الواجهات - بيئة التطوير Design Environment
13:17
خالد السعداني - Khalid ESSAADANI
Рет қаралды 46 М.
26. Interfaces in C# | شرح سي شارب
22:32
Codographia
Рет қаралды 7 М.
22. البرمجة الكائنية OOP - الورائة Inheritance
10:32
خالد السعداني - Khalid ESSAADANI
Рет қаралды 47 М.
كل شيء عن لغة سي شارب
56:09
مطور
Рет қаралды 1,2 М.