![]() |
|
الدرس الحادي عشر : الأنوع Value والأنواع Reference - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة .net 2008 . لنبدأ سوياً (http://vb4arb.com/vb/forumdisplay.php?fid=138) +---- الموضوع : الدرس الحادي عشر : الأنوع Value والأنواع Reference (/showthread.php?tid=5346) |
الدرس الحادي عشر : الأنوع Value والأنواع Reference - oneyemenweb2 - 06-10-12 منقول من المنتدى القديم كاتب المقال احمد جمال المشرف العام تاريخ 28-02-08 بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته . لو عدنا مرة أخرى إلى درس انواع المتغيرات ، سنجد ان معظم انواع البيانات مشتقة من Value Type ، معنى ان هذه الأنواع مشتقة من Value Type ان كل متغير منها يمثل نفسه ، فلو افترضنا مثالاً بالشكل التالي : C#: كود : int x=5;VB.net: كود : Dim x As Integer = 5 سنجد ان كلاً من x و y له قيمة خاصة به ، برغم اننا ساوينا بينهم في البداية ، السبب اننا في جملة y=x فهم الكومبايلر ان ينشأ متغير y يحصل على قيمة x . نفس هذا النظام ينطبق على المتغيرات الاساسية ، على ال struct ايضاً ... الأنواع من نوع Refernce Types مثل ال Class لا ينطبق عليها المثال ، لنفترض مثال السيارة بالشكل التالي : C#: كود : class carكود : Class car والآن سنكتب نفس المثال السابق مع ال ints ، سيكون المثال بالشكل التالي : C#: كود : Car x = new Car();VB.net: كود : Dim x As New Car() لو كنت تظن ان المتغير y يحتوي على نسخة من car يمكنك التعديل عليها فأنت مخطا ، إذ ان المتغير x و y يشيرون لنفس المتغير ، وبالتالي فأي تعديل في احدهما سيتسبب في تعديل للآخر ، يمكنك التأكد من ذلك من خلال كود مثل التالي : C#: كود : Car x = newCar();VB.net: كود : Dim x As Car = newCar() لعمل نسخة حقيقة من ال Class المسمى Car لا بد من تطبيق Clone ، قم بجعل Car Class يطبق ال Cloneaple Interface وقم بكتابة دالة ال Clone ، سنتعرف على هذه العملية في وقت لاحق ولكن حتى ذلك الحين يمكنك الاستفادة من هذا الرابط : http://vb4arb.com/vb/showthread.php?731 |