تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
ماهو الكلاس وكيفية بناء كلاس
#1
من فظلكم اخواني الكرام اريد اتعلم بناء الكلاس
اريد التعلم  فلا تبخلو على اخوكم
وشكرا Smile
الرد }}}
تم الشكر بواسطة:
#2
الفورم عبارة عن كلاس اي كونترول تستخدمه عبارة عن كلاس اي ملفات موجودة في الدوت نت هي عبارة عن كلاس أو Structure

و لكتابة كلاس عليك أولا أن تحدد الهدف من الكلاس
او ماذا تريد أن تمرر لهذا الكلاس من بيانات و ماذا تريد ان تسترد من الكلاس أي بيانات
الميزة في كتابة الكلاس انها تقلل من كمية الاكواد المستخدمة في مشروعك و ايضا تستطيع كتابتها علي هيئة dll و تضيفها لمشروعك و تستدعيها لتنفيذ مهام معينة و ايضا و أهم ميزة في كتابة اي كلاس انك لاحقا تستطيع التعديل عليه و تطويرة و تضيف له اي اشياء تريدها


ولكتابة كلاس و في مشروعك عليك ان تستخدم Add New Item و تختار كلاس ثم تعطي هذا الكلاس اسما يتناسب مع الهدف منه

اي كلاس له شئ اسمه Constructor و هو هنا ما تعرفه انت باسم Sub New وبه يتم  تمرير المتغيرات
ولتوضيح الأمر بشكل مبسط لنفترض انك تريد ان تحسب حاصل ضرب القيمة A في القيمة B

غالبا انت في الفورم تفعل الاتي


Dim A As Integer = 100
Dim B As Integer = 20
و لتحصل علي حاصل الضرب للمتغيران
Dim Result As Integer = A * B
حاول تضرب ارقام ضخمة جدا و لتري ماذا سيحدث معك

عموما ميزة تجويل الكود البسيط هذا الي كلاس ستسمح لك باستخدام الكلاس حين تريده في اي وقت و أيضا تسمح لك بتمرير أي قيمة تريدها في اي وقت

الأن نقوم بتحويل الكود البسيط هذا الي كلاس

من قائمة Add New Item في مشروعك
اختار Class و أعطه اسما يتناسب مع الهدف منه و هنا في حالتنا الهدف هنا هو عملية الضرب لذلك سنطلق علي الكلاس اسم Calculator
وعندما تضغط أوك ستجد أن الفيجوال استوديو اتوماتيكيا قام بانشاء الكلاس لك باسم Calculator
وهنا فقط عليك ان تكتب الكود الخاص بالكلاس

وهو قد يكون كالتالي
أولا تقوم بتعريف المتغيران A و B كالتالي
Private _a as Integer
Private _b as integer

Public Sub New (a as Integer, b as Integer)
me._a = a
me._b = b
ُEnd Sub

الأن نحن قمنا بتعريف المتغيرات و تمريرها للكلاس يتبقي ان نكتب الدالة التي تحسب عملية الضرب
وهنا تستطيع وضع شروط معينة لكي تتم عملية الضرب

Public Function Multiply() As Integer
Dim result as Integer = nothing
If Me._a <> 0 AndAlso Me._b <> 0 Then
result = Me._a * Me._b
ُEnd If
Return Result
ُEnd Function

حاول تستخدم الكلاس داخل الفورم بتعريف متغير يعبر عنه
Dim c As New Calculator(8, 5)
Dim result As Integer = c.Multiply()

'حاول تمرر ارقام ضخمة جدا و لتري ماذا سيحدث معك

بالتاكيد سيحدث خطأ في مرحلة ما
لذلك في الكلاس الاصلي يجب أن تراعي تلك الأخطاء بأن تتحكم في المتغيرات التي يتم ادخالها للكلاس
أيضا تستطيع ان تضيف له Property لتحصل علي المتغيرات التي تم تمريرها للكلاس في أي وقت

ولهذا حديث أخر
الرد }}}
تم الشكر بواسطة: bidaya , bidaya , السندبااد , السندبااد
#3
(06-05-17, 03:15 AM)silverlight كتب : الفورم عبارة عن كلاس اي كونترول تستخدمه عبارة عن كلاس اي ملفات موجودة في الدوت نت هي عبارة عن كلاس أو Structure

و لكتابة كلاس عليك أولا أن تحدد الهدف من الكلاس
او ماذا تريد أن تمرر لهذا الكلاس من بيانات و ماذا تريد ان تسترد من الكلاس أي بيانات
الميزة في كتابة الكلاس انها تقلل من كمية الاكواد المستخدمة في مشروعك و ايضا تستطيع كتابتها علي هيئة dll و تضيفها لمشروعك و تستدعيها لتنفيذ مهام معينة و ايضا و أهم ميزة في كتابة اي كلاس انك لاحقا تستطيع التعديل عليه و تطويرة و تضيف له اي اشياء تريدها


ولكتابة كلاس و في مشروعك عليك ان تستخدم Add New Item و تختار كلاس ثم تعطي هذا الكلاس اسما يتناسب مع الهدف منه

اي كلاس له شئ اسمه Constructor و هو هنا ما تعرفه انت باسم Sub New وبه يتم  تمرير المتغيرات
ولتوضيح الأمر بشكل مبسط لنفترض انك تريد ان تحسب حاصل ضرب القيمة A في القيمة B

غالبا انت في الفورم تفعل الاتي


Dim A As Integer = 100
Dim B As Integer = 20
و لتحصل علي حاصل الضرب للمتغيران
Dim Result As Integer = A * B
حاول تضرب ارقام ضخمة جدا و لتري ماذا سيحدث معك

عموما ميزة تجويل الكود البسيط هذا الي كلاس ستسمح لك باستخدام الكلاس حين تريده في اي وقت و أيضا تسمح لك بتمرير أي قيمة تريدها في اي وقت

الأن نقوم بتحويل الكود البسيط هذا الي كلاس

من قائمة Add New Item في مشروعك
اختار Class و أعطه اسما يتناسب مع الهدف منه و هنا في حالتنا الهدف هنا هو عملية الضرب لذلك سنطلق علي الكلاس اسم Calculator
وعندما تضغط أوك ستجد أن الفيجوال استوديو اتوماتيكيا قام بانشاء الكلاس لك باسم Calculator
وهنا فقط عليك ان تكتب الكود الخاص بالكلاس

وهو قد يكون كالتالي
أولا تقوم بتعريف المتغيران A و B كالتالي
Private _a as Integer
Private _b as integer

Public Sub New (a as Integer, b as Integer)
me._a = a
me._b = b
ُEnd Sub

الأن نحن قمنا بتعريف المتغيرات و تمريرها للكلاس يتبقي ان نكتب الدالة التي تحسب عملية الضرب
وهنا تستطيع وضع شروط معينة لكي تتم عملية الضرب

Public Function Multiply() As Integer
Dim result as Integer = nothing
If Me._a <> 0 AndAlso Me._b <> 0 Then
result = Me._a * Me._b
ُEnd If
Return Result
ُEnd Function

حاول تستخدم الكلاس داخل الفورم بتعريف متغير يعبر عنه
Dim c As New Calculator(8, 5)
Dim result As Integer = c.Multiply()

'حاول تمرر ارقام ضخمة جدا و لتري ماذا سيحدث معك

بالتاكيد سيحدث خطأ في مرحلة ما
لذلك في الكلاس الاصلي يجب أن تراعي تلك الأخطاء بأن تتحكم في المتغيرات التي يتم ادخالها للكلاس
أيضا تستطيع ان تضيف له Property لتحصل علي المتغيرات التي تم تمريرها للكلاس في أي وقت

ولهذا حديث أخر
شكرا لك استاذنا الكبير silverlight على الشرح الجميل  ساحاول تطبيق شرحك
وأتمنى اضافات أخرى  للموضوع
وجزاك الله خيرا
الرد }}}
تم الشكر بواسطة:
#4
للرففففففع
الرد }}}
تم الشكر بواسطة:
#5
السلام عليكم 

تفضل هذه كتابين عن البرمجة الشيئية  او برمجة الكائنات 

ستستفيد منها الكثير
http://www.kutub.info/library/book/19020


http://www.kutub.info/library/book/19298
الرد }}}
تم الشكر بواسطة: bidaya
#6
(07-05-17, 12:39 PM)sendbad100 كتب : السلام عليكم 

تفضل هذه كتابين عن البرمجة الشيئية  او برمجة الكائنات 

ستستفيد منها الكثير
http://www.kutub.info/library/book/19020


http://www.kutub.info/library/book/19298

شكرا لك اخي الكريم
الرد }}}
تم الشكر بواسطة:
#7
هل يوجد شروحات باليوتيوب
الرد }}}
تم الشكر بواسطة:
#8
السلام عليكم ورحمة الله وبركاته
https://www.youtube.com/playlist?list=PL...MzncS8zvyX
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  جلب القسم بناء على قيمة مصمم هاوي 2 414 22-04-25, 08:38 PM
آخر رد: princelovelorn
  ماهو سبب اغلاق الفورم صالح عبدالله 2 514 26-02-25, 02:40 PM
آخر رد: صالح عبدالله
  كيفية احتساب الفرق بين تاريخين بناء على عدد معين مصمم هاوي 2 554 15-01-25, 02:02 PM
آخر رد: مصمم هاوي
  [VB.NET] ماهو حل مشكلة Microsoft.ACE.OLEDB provider muad 13 1,130 28-09-24, 12:52 PM
آخر رد: صالح عبدالله
  ماهو كود ب .net يقوم باعادة تشغيل مستكشف ملفات الووندوز windows explorer bassant 6 749 21-07-24, 01:46 PM
آخر رد: bassant
  ماهو حل هذه المشكلة مع السكانر؟ صالح عبدالله 3 502 11-05-24, 02:35 PM
آخر رد: قناص المدينة
  ماهو حل رسالة الخطأ اللتي تظهر حتى لو انها ضمن Try catch justforit 2 573 28-04-24, 09:45 AM
آخر رد: justforit
  [VB.NET] تحديث بيانات فى كلاس من جدول سيكوال asdfar1977 6 715 26-02-24, 01:07 AM
آخر رد: asdfar1977
  ماهو حل هذا الخطأ في الكود melad2002 7 888 25-02-24, 12:25 AM
آخر رد: justforit
  [VB.NET] استدعاء بيانات في TextBox بناء على combobox loay775 2 703 18-01-24, 05:07 PM
آخر رد: loay775

التنقل السريع :


يقوم بقرائة الموضوع: