محسن شامحمدی
پنج شنبه 27 آبان 1389, 10:00 صبح
سلام دوستان.
اینطوری که من متوجه شدم اکثر دوستانی که با زبان vb.Net کار می کنن فکر می کنن وی بی دات نت از تکنولوژی سربارگذاری عمگرها(operator overloading) پشتیبانی نمی کنه و این قضیه رو فقط زبان های خانواده سی دارن.
ولی من امروز اومدم تا به شما عزیزان نحوه سربارگذاری عمگرها(operator overloading) در vb.NEt رو به شما آموزش بدم.
تحلیل مساله:
فرض کنید کلاسی داریم به نام Student .
که فیلدهای زیر رو داره:
Public name
Public avg
حالا ما از این کلاس 2 شی می سازیم به نام های Bill و John
Dim Bill, John As New student
ما به این اشیا مقدار می دیم.
Bill.name = "Bill Clinton"
Bill.avg = 15
John.name = "John Valjan"
John.avg = 5
خب حالا اصل قضیه اینه که ما با یک دستور ساده چطوری معدل این دو تا رو با هم جمع کنیم.
مثلا چقدر جالب می شد اگه می زدی :
MsgBox(Bill + John)
و بعد معدل هاشون با هم جمع می شد و پیام می داد.
.
.
.
.
.
خب عجله نکنید یادتون می دم:
بیاید توی کلاس Student و این کد رو بنویسید.
Public Shared Operator +(ByVal a As student, ByVal b As student)
Return a.avg + b.avg
End Operator
.
.
.
.
.
.
بله آرزوی شما به حقیقت پیوست.
حالا اگر این کد رو توی فرمتون بنویسین معدل های بیل و جان با هم جمع می شن و چاپ می شن.
Dim Bill, John As New student
Bill.name = "Bill Clinton"
Bill.avg = 15
John.name = "John Valjan"
John.avg = 5
MsgBox(Bill + John)
اصل مقاله در مایکروسافت (http://msdn.microsoft.com/en-us/library/ms379613%28VS.80%29.aspx)
اگر به نظرتون مطلب جدیدی بود و ارزش زدن کلید تشکر رو داشت پس فراموش نکنید.
اینطوری که من متوجه شدم اکثر دوستانی که با زبان vb.Net کار می کنن فکر می کنن وی بی دات نت از تکنولوژی سربارگذاری عمگرها(operator overloading) پشتیبانی نمی کنه و این قضیه رو فقط زبان های خانواده سی دارن.
ولی من امروز اومدم تا به شما عزیزان نحوه سربارگذاری عمگرها(operator overloading) در vb.NEt رو به شما آموزش بدم.
تحلیل مساله:
فرض کنید کلاسی داریم به نام Student .
که فیلدهای زیر رو داره:
Public name
Public avg
حالا ما از این کلاس 2 شی می سازیم به نام های Bill و John
Dim Bill, John As New student
ما به این اشیا مقدار می دیم.
Bill.name = "Bill Clinton"
Bill.avg = 15
John.name = "John Valjan"
John.avg = 5
خب حالا اصل قضیه اینه که ما با یک دستور ساده چطوری معدل این دو تا رو با هم جمع کنیم.
مثلا چقدر جالب می شد اگه می زدی :
MsgBox(Bill + John)
و بعد معدل هاشون با هم جمع می شد و پیام می داد.
.
.
.
.
.
خب عجله نکنید یادتون می دم:
بیاید توی کلاس Student و این کد رو بنویسید.
Public Shared Operator +(ByVal a As student, ByVal b As student)
Return a.avg + b.avg
End Operator
.
.
.
.
.
.
بله آرزوی شما به حقیقت پیوست.
حالا اگر این کد رو توی فرمتون بنویسین معدل های بیل و جان با هم جمع می شن و چاپ می شن.
Dim Bill, John As New student
Bill.name = "Bill Clinton"
Bill.avg = 15
John.name = "John Valjan"
John.avg = 5
MsgBox(Bill + John)
اصل مقاله در مایکروسافت (http://msdn.microsoft.com/en-us/library/ms379613%28VS.80%29.aspx)
اگر به نظرتون مطلب جدیدی بود و ارزش زدن کلید تشکر رو داشت پس فراموش نکنید.