منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : ماهو الكلاس وكيفية بناء كلاس
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
من فظلكم اخواني الكرام اريد اتعلم بناء الكلاس
اريد التعلم  فلا تبخلو على اخوكم
وشكرا Smile
الفورم عبارة عن كلاس اي كونترول تستخدمه عبارة عن كلاس اي ملفات موجودة في الدوت نت هي عبارة عن كلاس أو 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 لتحصل علي المتغيرات التي تم تمريرها للكلاس في أي وقت

ولهذا حديث أخر
(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 على الشرح الجميل  ساحاول تطبيق شرحك
وأتمنى اضافات أخرى  للموضوع
وجزاك الله خيرا
للرففففففع
السلام عليكم 

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

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


http://www.kutub.info/library/book/19298
(07-05-17, 12:39 PM)sendbad100 كتب : [ -> ]السلام عليكم 

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

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


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

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