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

عندي مجموعة اسئلة ياريت حد يجاوب عليها

بدأه lana2008 في 21 نوفمبر 2009 · 3 رد · 600 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

مالفرق بين byval , و by ref

ماهو ال polymorphism

ماهو interface

#2

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

اقتباس
مالفرق بين byval , و by ref

كلمتين محجوزتين (KeyWord ) تستخدم في تمرير المتغيرات إلى دالة ما (Function) , الفرق بينهم كالتالي :

مثال ..

Public Function Add(ByVal Num1 As Integer,ByVal Num2 As Integer) As Integer

هنا سيكون المتغيرين Num1 وNum2 في هذه الدالة عبارة عن نسخة من المتغيرين الأساسين الممررين إلى الـ Funcion Add , بالتالي لن يحدث أي تغير في المتغيرين الأساسين , التغير فقط يتم على قيم الـ Num1 و Num2 ..

حسناً , ماذا لو أردت تغيير قيم المتغيرين الأساسين الذين مررناهما ؟ هل الـ ByVal ستنفع ؟!

بالطبع لا ,

في هذه الحالة نستخدم الـ By Ref ,

مثال ..

Public Function Add(ByRef Num1 As Integer,ByRef Num2 As Integer) As Integer

عند إستدعاء هذه الدالة , وبعد إجراء عملية الجمع ستتغير القيم الممررة إلى الـ Funcion Add ,

أتمنى يكون واضح ..

وبالتوفيق ..

تم تعديل هذه المشاركة بواسطة إشراقــه فجــر في 21 نوفمبر 2009 في 20:06

سبحآن الله وبحمده .. سبحآن الله العظيم .. ,

#3

طيب وبقية الاسئلة

#4

Polymorphism هي احد المبادئ الاربعة لاستعمال OOP وتعني بالعربي "ارجو ان ترجمتي دقيقة" هي القدرة على استعمال نفس الخصائص والمميزات لخلق Object او كائن اخر يشبهه في التركيب ويختلف عنة قي المميزات.

افترص ان لديك class تحتوي على ما يلي

Public Class Human	
	Private _eyecolor As String
	Private _haircolor As string

	Public Property EyeColor() As String
 	Get
 	Return _eyecolor
 	End Get

 	Set(ByVal Value As String)
 	_eyecolor = Value
 	End Set
	End Property
	Public Property HairColor() As String
 	Get
 	Return _haircolor
 	End Get
 	Set(ByVal value As String)
 	_haircolor = value
 	End Set
	End Property
End Class

لاستعمال ما سبق

Dim first_human as New sam_classlib.Human
 	first_human.EyeColor = "Brown"
 	first_human.HairColor = "Black"
 	Dim second_human As New sam_classlib.Human
 	second_human.EyeColor = "Black"
 	second_human.HairColor = "Blue" ' :)

لقد عملت 2 Human مستخدما the same property وهم لا يشبهان بعضهما

بالاضافة الى ما سبق هناك امكانية خاصية oveloading وهي امكانية عمل عدة وظائف Methods بداخل ال class تحتوي علي نفس الاسم ولكن يتم اختيار الوظيفة المناسبة اعتمادا على parameter

مثال على ذلك

Dim first_human as New sam_classlib.Human
 	first_human.EyeColor = "Brown"
 	first_human.HairColor = "Black"
 	Dim second_human As New sam_classlib.Human
 	second_human.EyeColor = "Black"
 	second_human.HairColor = "Blue" ' :)

 	first_human.SetHairColor(1) ' استعمال رقم
 	MsgBox(first_human.HairColor)
 	first_human.SetHairColor("Red") ' استعمال حروف
 	MsgBox(first_human.HairColor)

Public Class Human	
	Private _eyecolor As String
	Private _haircolor As string

	Public Property EyeColor() As String
 	Get
 	Return _eyecolor
 	End Get

 	Set(ByVal Value As String)
 	_eyecolor = Value
 	End Set
	End Property
	Public Property HairColor() As String
 	Get
 	Return _haircolor
 	End Get
 	Set(ByVal value As String)
 	_haircolor = value
 	End Set
	End Property
	Public overloads Sub SetHairColor(ByVal pHairColor As String)
 	Me.HairColor = pHairColor
	End Sub
	Public Overloads Sub SetHairColor(ByVal pHairColor As Integer)
 	If pHairColor = 1 then
 	Me.HairColor = "Red"
 	End If
	End Sub
End Class

للمزيد من المعلومات http://codebetter.co...ages/59908.aspx

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