loading...
متخصص ویژوال بیسیک
محسن.ش بازدید : 330 1390/09/04 نظرات (0)
مفاهیم برنامه نویسی شیئ گرا (OOP-Object Oriented Programming):

در دنیای ما، هر شیئی (Object)، مثل صندلی، میز، دیوار و ... خلاصه همه اشیایی که ما دور و بر خودمون می بینیم، دارای صفاتی (Property) هستن که البته در بسیاری موارد تغییرپذیر هم هستن. برای اینکه منظورم رو بهتر بفهمید،

مشاهده کامل در ادامه مطلب...  

 

یه مثال کوچک می زنم: مثلاً، صندلی یکی از اشیا هست و برخی صفات اون مثل :رنگ، شکل و ... تغییر پذیرند، مثلاً ما می تونیم به صندلی هر رنگی که بخوایم بزنیم. همچنین ما می تونیم اگه در یه جایی از خونه، صندلی لازم داشتیم، صندلی قبل رو اونجا ببریم و استفاده لازم رو از اون بکنیم، بدون اینکه صندلی دیگه ای ساخته باشیم. بنابراین، حتی زندگی ما نیز از جهاتی به برنامه نویسی شیئ گرا شباهت داره. در برنامه نویسی به این شیوه نیز، برنامه ی ما به قطعات کوچکتری تقسیم می شه که هم کنترل برنامه آسون تر می شه و خوانایی برنامه برای برنامه نویس بیشتر می شه. همچنین ما می تونیم از شیئی که قبلاً در برنامه ساختیم، در برنامه های دیگر هم استفاده کنیم، بدون اینکه دوباره نیاز به کلی برنامه نویسی برای ساختن دوباره شیئ داشته باشیم. بذارید مثالی هم از کاربرد اشیا بزنم: مثلاً شما در برنامه ای یک نوع کنترل، مانند دکمه، ولی با این فرق که کار دیگه رو انجام بده، می سازید. شما می تونید از این کنترلی که ساختید، مثلاً همان دکمه بخصوص، در برنامه های دیگرتون هم استفاده کنید، بدون اینکه دوباره اون رو تعریف کنید یا براش کد بنویسید، مثلاً در هر برنامه ای که کتنرل خودتون رو نیاز داشتید، این کنترل (در VB)، مانند کنترل های دیگه به جعبه ابزار اضافه می شه و می تونید اون مانند یه دکمه خود VB روی فرم قرار بدید و از اون استفاده کنید. برای نمونه، من یک کنترل ساعت درست کرده بودم که در برنامه هایی که نیاز به ساعت داشنتد، اون از جعبه ابزار کشیده در یه جای خوب روی فرم قرار می دادم و ازش مانند کنترل های دیگه استفاده می کردم. بعداً در بخش کاربردی VB، نحوه ساخت و ایجاد اشیا و کنترل های جدید رو به تفصیل شرح خواهم داد. البته این بخش رو هم ساده و در حد مبتدی شرح دادم که امیدوارم که منظورم رو فهمیده باشید.

بعد از خود این اشیا، به تعریف صفات اشیا می پردازیم. در بالا گفتیم که اشیا دارای صفاتی هم هستند که گاه صفاتی تنها مختص آن شیئ، و گاهی اشیا در برخی صفات مشترک هستن. به طور مثال، یک شیئ دکمه فرمان (Command Button)، می تواند صفاتی همچون: رنگ، متن درون آن، رنگ قلم، نوع فونت و... باشد که هریک قابل تغییراند، یا در زمان اجرای برنامه، یا در زمان طراحی برنامه. در VB، برای دسترسی به صفات یک شیئ به بخش Properties هر شیئ یا کنترل مراجعه می کنیم. البته این کار در هنگام طراحی شکل برنامه امکانپذیره. خوب حالا شاید یه برنامه نویس خواست مثلاً در هنگام اجرای برنامه، مثلاً وقتی کاربر روی یه دکمه کلیک کرد، رنگ پس زمینه فرم رو، که یکی از صفات یا ویژگی های فرمه، تغییر بده. پس باید چکار کنه؟ باید این حالت رو در بخش کدنویسی پیاده سازی کرد. در بخش کدنویسی VB، برای دسترسی به ویژگی های یک کنترل، از قراردادن نقطه (.) پس از نام کنترل یا شیئ استفاده می کنیم. مانند:


Label1.BackColor



            در مثال بالا، ما خواسته ایم که به صفت یا ویژگی رنگ پس زمینه یا BackColor شیئ Label1، دسترسی پیدا کنیم و اون رو تغییر بدیم. مثلاً BackColor رو مساوی یه رنگ دلخواه قرار بدیم:


Label1.BackColor=Color.Red



            در این جا، ما خاصیت رنگ پس زمینه Label رو مساوی قرمز قرار دادیم. ضمناً بگم که این مثال ها رو فقط در ذهن خودتون برای یادگیری به خاطر بسپارید و الا من این مثال ها رو برای درک بهتر زدم، چون این خط کدها به تنهایی در VB کاربردی ندارن.
مفاهیم کلی (Event,Method, Procedure, Variable, Constant):


فکر می کنم فعلاً همین اندازه مفاهیم در سطح شما کافی باشه. بقیه مفهوم ها رو در طول دروس به تفصیل شرح میدم.



رویداد (Event): به هر عملی که از سوی کاربر بر روی یکی از کنترل ها یا اشیا برنامه صادر می شه، یک رویداد می گن. در VB، کنترل ها می تونن نسبت به رویداد های مختلفی از جمله کلیک، بارگذاری، تغییر و ... واکنش های متفاوتی رو نشون بدن. مثلاً یه تکست باکس رو (Text Box)، می توان اون رو جوری کدنویسی کرد که اگر روی آن کلیک شد یه پیغام نشون بده، و در عین حال می توان به رویدادی غیر از کلیک، مانند تغییر، کدی رو نوشت که همان کنترلی که با کلیک، پیغام نشون می داد، با تغییر کردن متن درون آن، مثلاً جمع دو عدد رو نشون بده. پس زبان VB، در بعضی موارد، بسیار انعطاف پذیر هم هست.


متد (Method): در VB، دستوالعمل ها و توابع به دو دسته تقسیم می شوند: دسته اول، دستورالعمل ها و توابع کلی هستن و دسته دوم، دستورالعمل ها و توابعی هستند که بر روی شیئ یا عنصر خاصی، اعمال میشن. به این دستورالعمل ها، که نحوه دستیابی به آن ها مانند ویژگی هاست، متد یا صفات اجرایی  می گویند.


روال (Procedure): در VB، هر رویدادی روال مربوط به خودش را دارد. به مجموعه دستورالعمل هایی که با رخ دادن یک رویداد، به طور خودکار اجرا می شوند، روال یا زیربرنامه می گویند.



متغیر(Variable): به مکان هایی از حافظه که نوعی داده رو در خود ذخیره می کنن، متغیر می گن. این داده ها در طول برنامه قابل تغییر هستند. یادتون باشه برنامه نویسی بدون متغیر، تقریباً امکان پذیر نیست. نحوه تعریف متغیر ها و انتساب یک نوع داده  رو به اون، بعداً شرح می دم.


ثابت(Constant): آنچیز که عیان است، چه حاجت به بیان است! از اسمش معلومه که نقطه مقابل متغیره، یعنی این هم داده ها رو با انوع معلومی نگه داری می کنه، اما با این تفاوت که داده های این نوع در طول برنامه قابل تغییر نیست. یعنی داده ها که انواع ذخیره می کنند، توسط خطای ناآگاهانه برنامه نویس که ممکنه رخ بده، هیچ تغییری نمی کنه. مثلاً در یک برنامه ای می خواهیم عدد پی (pi=3.14) رو در برنامه، برای استفاده بعدی از اون، ذخیره کنیم. قطعاً متغیر ها انتخاب خوبی نیستند، چون ممکنه برنامه نویس در اثر یک اشتباه، مقداری رو، هر چند ناچیز، به متغیری که پی رو نگه داری می کنه، اضافه یا کم کنه؛ اون وقته که فاجعه پیش میاد و تمام محاسبات، اشتباه از آب در میاد. اما اگر همین داده رو با استفاده از ثابت ها ذخیره کنیم، دیگه جایی برای اشتباه نمی مونه، چون حتی اگر به طور عمدی هم بخواهیم مقداری رو به اون اضافه یا کم کنیم، زبان برنامه نویسی مورد نظر، در خطایی برای ما اعلام می کنه که شما سعی براین داشته اید که مقدای رو به ثابتی منتسب نمایید.


            توجه داشته باشید که این مفاهیم، در همه زبان های برنامه نویسی مشترک هستن، اما در هر زبان، با شکل های مختلفی تعریف می شن. البته هنوز خیلی مفهوم دیگه مونده که برای برنامه نویسی یاد بگیرید، ولی فعلاً همین قد مطلب بسه. اگه هر یک از دوستان در موارد بالا اشکال یا سوالی داشتن، لطفاً کامنت بذارن تا من در اولین فرصت جوابشون رو بدم

ارسال نظر برای این مطلب

کد امنیتی رفرش
درباره ما
وبلاگ تخصصی ویژوال بیسیک
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 61
  • کل نظرات : 40
  • افراد آنلاین : 1
  • تعداد اعضا : 450
  • آی پی امروز : 46
  • آی پی دیروز : 18
  • بازدید امروز : 61
  • باردید دیروز : 93
  • گوگل امروز : 0
  • گوگل دیروز : 0
  • بازدید هفته : 282
  • بازدید ماه : 668
  • بازدید سال : 4,035
  • بازدید کلی : 53,654