Author

Ahmed Samir

Evry1falls is my online name

OOP VB .Net Toturials and Examples - دروس فى ال أو أو بى

OOP VB .Net Toturials and Examples - دروس فى ال أو أو بى 5 of 5
تعرفنا على الاجراء و الداله و الفرق ينهما, الموديول و الكلاس موديول و الفرق بينهما .

كما فى المثال السابق : قم بانشاء Sub جديد و لكن بنفس اسم الـ Constructor فى الـ Class2
Sub New ()
system.io.file.create("C:\test.txt")
أى من الاجرائين سيقوم المشروع بتنفيذه أولا ؟؟؟
سيقوم بتنفيذ الاجراء الاول أى انه فى حالة أكثر من Constructor يقوم المشروع بتنفيذ الــ Constructor المشار اليه أولا ..
نتوجه الى Button2_Click فى المشروع السابق و نكتب :
Dim C As New Class1
هذا الكود سيقوم بتنفيذ الاجراء الثانى لأن الكلاس الاول مبنى على متغيرات .
الان عند تنفيذ الكود فإنه سيقوم بانشاء File فى الــ C اسمه Test و بما أن الكلاس متعلق بالذاكرة العشوائيه فانه من المفروض أو المنطقى ان عندما ينتهى عمل الـ Class فان العمل ينتهى بالذاكرة ايضا .. و هنا يأتى دور الـ Destructor و يكتب بهذا الشكل :
Protected Overrides Sub Finalize ()
MsgBox ("Class Ends Here")
End Sub
و ينفذ هذا الكود قبل الخروج من البرنامج مثل الحدث Dispose أو Close حيث يحذف الـ Class من ذاكرة الكمبيوتر و يطلق عليه Class Unused أو له اسم بالذاكرة لكن لا يوجد متغير (C) يشير اليه لكى يفعل عمله و كود الــ GC.Collect يقوم بحذف اسماء الـ Class من على الذاكرة الغير مستخدمه
Form1_Dispose
C = Nothing
و يصبح شكل المشروع الان كما بالصورة رقم (9) ...
صورة رقم 9


صورة رقم 9
- ما هى المتغيرات المسموح بها فى الـــ Class ؟
فى نفس المشروع السابق اضف Class2 و لاحظ عند كتابة الاكواد التاليه :
Public Class Class2
Public X As Integer
متغير نصى
Public Const Y As Double = 300
ثابت نوعه Double يجب أن يأخذ قيمه وقت تعريفه مباشرة و Y لن تتغير قيمتها طول المشروع و من مميزاته أنه يمكن استدعائة بدون أخذ نسخه من الكلاس فى المنطقة المراد استخدامه فيها (Class2.Y) مباشرة بدون الحاجه الى كتابــــــــة (Dim C As New Class2)
Pubic Shared Z As Integer
هو متغير Read/Write و يختلف مع String أنه يمكن استدعائة عن طريق اسم الكلاس مباشرة دون الحاجه الى حجز نسخه من الـ Class فى الذاكره
Public ReadOnly B As Integer
المتغير B لن يمكن التصريح عن قيمتة فى المشرع 
End Class
الفرق ين كلا من (Const) و (ReadOnly) .....
الاول Cosnt : لا يجب استدعاء الكلاس و لكن يجب ان يأخذ قيمتة فى الـ Constructor أو نفس السطر المعرف فيه عموما .
الثانى ReadOnly : لا يمكن استدعائة الا بعد أخذ نسخه من الـ Class أولا
اذا هذه هى المتغيرات الممكن كتابتها فى الـ Class .
و الان .... ما هو الفرق بين الاجراء Sub والدالة Function ؟؟
- الدالة : تقوم بتنفيذ وظيفه معينة ثم Return للنتيجه بقيمه معينة .
- الاجراء : يقوم تنفيذ الاكواد المكتوبة به فقط .
لاحظ :

لا يمكننا استخدام كلا من الداله و الاجراء الا على مستوى Form1 و لكن لتعميم عملهم على مستوى المشروع يجب نقلهم كما قمنا فى الاجراء الى الموديول ة Module
أو توسيع نطاق عملهم أكثر فأكثر عن طريق اضافتهم الى Class Module ...
و الان .... ما هو افرق بين الموديول Module و الكلاس موديول Class Module ؟؟
- الموديول : عباره عن كلف نضع به الاجراءات و الدوال و الخصائص ..... الخ كى نستطيع الوصل اليها داخل المشروع كله .
- الكلاس موديول : نفس تعريف الموديول و لكن بالاضافه الى انه يمكن استخدام مكونات الــ Class Module خارج المشروع
الحالى فى أى مشروع أخر سنصنعه و ذلك مثل استخدام مكتبة ADO و OLEDB حيث نقوم باستخدام Class مثل
Connection و Adapter فى التوصيل بقاعدة البيانات .
و ايضا يمكن وضع الـ Class فى مكتب لخدمة جميع المشاريع . 

To Be Continued .......... تابعونا

Visual Basic .Net - Free POS System Project Source Code

Comment Via facebook

Popular posts from this blog

Visual Basic Online Course DevExpress 12.2.4 full for Visual Studio 2010

Visual Basic Online Course The following control could not be licensed: TxTextControl.TextControl

Visual Basic 2010 Read/Write Command Prompt

Visual Basic Online Course - The Microsoft.ACE.OLEDB.12.0 provider is not registered on the local machine

Visual Basic Online Courses DataGridView Add Edit Delete