الفرق بين التعريف باستخدام overridde و new - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم مقالات C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=177) +--- الموضوع : الفرق بين التعريف باستخدام overridde و new (/showthread.php?tid=5603) |
الفرق بين التعريف باستخدام overridde و new - RaggiTech - 14-10-12 كاتب الموضوع : أحمد جمال
بسم الله الرحمن الرحيم .السلام عليكم ورحمة الله وبركاته . من المبادئ العامة في ال OOP استخدام مفهوم ال override ، في برامجك من خلال .net يمكنك تحديد الدالة لتكون قابلة لعمل override لها لاحقاً بالشكل التالي : C#: كود : public class Base vb.net: كود : Public Class Base ومن ثم لعمل override لهذه الدالة في فئة Class آخر نقوم بكتابة الكود التالي : C#: كود : public class Derived : Base vb.net: كود : Public Class Derived في هذه الحالة لو قمنا بتعريف نسخة من الفئة الأولى Base وقمنا بعملها من النوع Derived فسيتم تنفيذ الدالة الموجودة في Derived مباشرة : C#: كود : Base b = new Derived(); vb.net: كود : Dim b As Base = New Derived() التعريف باستخدام new أو Shadows : اما لو قمنا بتعريف ال override باستخدام new أو Shadows في vb.net فكل ما سيحدث هو عملية اخفاء مؤقت hide ، لذا فإن الأمر التالي مثلاً : C#: كود : [FONT=Tahoma]public class Base vb.net: كود : [FONT=Tahoma]Public Class Base سوف يقوم باستدعاء الدالة الأولى في السطر الثالث ، فيما يقوم باستدعاء الدالة الثانية فقط في السطر الرابع . المصدر : http://blogs.msdn.com/csharpfaq/archive/2004/03/12/88453.aspx |