PDA

View Full Version : کمک (برنامه ای برای محاسبه محیط.مساحت.حجم دایره)با استفاده از کلاس و فانکشن



nava19
دوشنبه 11 شهریور 1387, 16:33 عصر
کمک (برنامه ای برای محاسبه محیط.مساحت.حجم دایره)با استفاده از کلاس و فانکشن

samispeed
دوشنبه 11 شهریور 1387, 17:13 عصر
خوب اینکه کار سختی نیست فقط کافیه یک کلاس تعریف کنی مثلا با این نام calculate.vb



Public Class calculate
Public Function area(ByVal rad As Integer)
Dim m As Double
m = rad * rad * 3.14
area = m
End Function
End Class


و بعد داخل فرم تون دو تا textbox و یک button قراردهید . بعد از public فرم
Dim clu As New calculate
و سپس
داخل رویداد کلیک button این را قرا دهید



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As Double
x = clu.area(CInt(TextBox1.Text))
TextBox2.Text = x
End Sub

textbox1 مقدار شعاع را به کلاس و تابع area می فرستد و در textbox2 مساحت قرار گرفته می شود برای بقیه تابع ها به همین روش عمل کنید

اَرژنگ
دوشنبه 11 شهریور 1387, 19:01 عصر
خوب اینکه کار سختی نیست فقط کافیه یک کلاس تعریف کنی مثلا با این نام calculate.vb



Public Class calculate
Public Function area(ByVal rad As Integer)
Dim m As Double
m = rad * rad * 3.14
area = m
End Function
End Class
و بعد داخل فرم تون دو تا textbox و یک button قراردهید . بعد از public فرم
Dim clu As New calculate
و سپس
داخل رویداد کلیک button این را قرا دهید



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As Double
x = clu.area(CInt(TextBox1.Text))
TextBox2.Text = x
End Sub
textbox1 مقدار شعاع را به کلاس و تابع area می فرستد و در textbox2 مساحت قرار گرفته می شود برای بقیه تابع ها به همین روش عمل کنید
از نظر سختی درست میگید کار سختی نیست ولی از لحاظ طراحی یکمقداری تفکر لازم دارد.
در جوابی که داده شد، با اینکه درست کار میکند هیچ‌اشاره‌ای به اینکه کلاس calculate بر چه اشیائی ربط دارد و یا با چه کلاسهایی کار میکند نشده.
چندین روش مختلف به نظر میاند که برایه بحث اینجا بازگو میکنم (درست‌تر بودن هر روش را در موردش بحث کنید)
۱. متدهایه (در شئیگرای فانکشن نمیگند) مساحت، محیط و حجم (با اینکه دایره حجم ندارد ولی برایه کامل بودن) را در کلاس دایره تعریف کنید.
۲. کلاس دایره از یک اینترفیس IGeometricObject که متدهایه مساحت، محیط و حجم را دارد پشتیبانی کند (برایه یاد گیری و تمرین خوب است).
۳.کلاس جدیدی فقط برایه حساب کردن مساحت، محیط و حجم اشیاء مختلف (نوع اشیاع را در متد باید تعریف کنید) استفاده کنید.

روشهایه دیگر، هر کی به فکرش روشی میاد بازگو کند که خوبی و یا بدیش را نسبت به روشهایه دیگر بسنجند.

با اینکه سوالی که پرسیده شده بود جواب ساده‌ای دارد از ساده بودن این سوال برایه یادگیری بیشتر استفاده کنید.

mostafaaa
دوشنبه 11 شهریور 1387, 20:25 عصر
اینم یه کلاس دیگه...

Public Class Calculator
'عدد پی
Dim P As Double = 3.14
'محیط
Overloads Function Outside(ByVal Rad As Double) As Double
Return 2 * P * Rad
End Function
Overloads Function Outside(ByVal Length As Double, ByVal Width As Double) As Double
Return 2 * (Length + Width)
End Function
'مساحت
Overloads Function Area(ByVal Rad As Double) As Double
Return P * Rad * Rad
End Function
Overloads Function Area(ByVal Length As Double, ByVal Width As Double) As Double
Return Length * Width
End Function
'حجم
Function Volume(ByVal Length As Double, ByVal Width As Double, ByVal Height As Double) As Double
Return Length * Width * Height
End Function
End Class