اصول شی گرایی در سی شارپ (بخش اول)

ارسال شده توسط: حسین درویشی Comments: 0

اصول شی گرایی در سی شارپ (بخش اول)

درک اصول و مفهوم شی گرایی بدلیل اهمیت آن بسیار مهم است و به شما کمک خواهد کرد تا برنامه هایی پایدار و قابل مدیریت ایجاد کنید. در ادامه با مفهوم شی گرایی در سی شارپ همچنین مفاهیم آن همچون وراثت ، چند ریختی ، کپسوله سازی و ماژولار بودن آشنا خواهید شد.

اصول شی گرایی در سی شارپ چیست؟

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

هرچیزی که در Dot Net می نویسید یکی شیء محسوب می شود. از int گرفته تا کنترل های پیچیده مانند TextBox ، همگی در مدل شی گرایی قرار دارند.

مدل شی گرایی در سی شارپ

نوع سبکی از برنامه نویسی است که برای مدیریت برنامه های بزرگ به کار می رود. بدون استفاده از OOP مدیریت برنامه های بزرگ بسیار سخت خواهد بود. حتی موقعی که بخواییم یک برنامه را بصورت تیمی تولید کنیم.

توجه: OOP مخفف Object Oriented Programming می باشد. که همان برنامه نویسی شی گرایی است.

شی گرایی در سی شارپ از مفهوم شیء برای تولید برنامه ها استفاده می کند که دارای مفاهیم وراثت ، چند ریختی ، کپسوله سازی و ماژولار بودن است.

مفهوم شیء و کلاس

در شی گرایی مفاهیم کلاس و شی وجود دارند که لازم است درک درستی از هرکدام از اینها داشته باشید:

مفهوم شیء و ارتباط آن با اشیاء محیط اطراف

در مدل شی گرایی هر چیزی حول مفهوم شیء دور می زند. همانطور که محیط اطراف ما از اشیاء تشکیل شده اند. در شی گرایی نیز برنامه ها از بلوک هایی از شی تشکیل می شوند.

یک شی در سی شارپ با کلمه کلیدی new ایجاد می شود. یک شیء نمونه واقعی از یک تعریف است که می توانیم از آن استفاده کنیم:

Car c1=new Car();

مفهوم کلاس

شی گرایی در سی شارپ مفهومی با نام کلاس دارد. یک کلاس شامل خصوصیات و عملکردهای مختلف یکی شیء است.

به عنوان مثال یک انسان را در نظر بگیرید که دارای یکسری خصوصیات است که می توان به:

  • اسم
  • تعداد پاها
  • رنگ پوست و چشم
  • اشاره کرد.همچنین دارای یکسری عملکردها یا رفتارهاست که می توان به نحوه خندیدن، راه رفلتن و برقراری ارتباط با سایرموجودات را نام برد.

یک کلاس آدم می تواند شامل عملکردها و خصوصیات ذکر شده باشد اما همه اینها تعریفی بیش نیستند و باید از آنها نمونه بسازیم.

همانطور که در بالا از کلاس Car یک نمونه ایجاد کردیم.

در برنامه نویسی عملاً یک شیء است که موجودیت دارد و می توانیم از آن استفاده کنیم.

لازم است بدانید که از هرکلاس می توان چندین شیء ایجاد کرد. برای مثال می توان از کلاس Car اشیاء متعددی ساخت.

در حقیقت در یک کلاس می توان خصوصیات و متدها(رفتارها) را تعریف کرد. و نمونه های واقعی از کلاس ها ساخته می شوند.

در مدل شی گرایی در سی شارپ می توان یک کلاس را بصورت زیر تعریف کرد:

public class ClassName
{
}

کد بالا یک کلاس خالی در سی شارپ ایجاد می کند. این کلاس هیچ کاری نمی کند چون خالی است. برای این کلاس می توان خصیصه، متد و سازنده تعریف کرد.

از مزایای خوب مدل شی گرایی در سی شارپ می توان به ارث بری کلاس ها از همدیگر اشاره کرد. در اینصورت خصوصیات و متدها به ارث برده می شوند.

خصوصیات یک شیء

خصوصیات یک شیء در مدل شی گرایی سی شارپ در برگیرنده تمام صفات خاصه کلاس است. مثلاً یک دانشجو خصوصیاتی که می تواند داشته باشد شامل:

  • نام
  • نام خانوادکی
  • تاریخ تولد
  • شماره دانشجویی
  • مقطع

به مثال زیر توجه کنید:

        public class Student
{
private string fName;
private string lName;
public String FirstName
{
get { return fName; }
set { fName = value; }
}
public String LastName
{
get { return lName; }
set { lName = value; }
}
}

در داخل برنامه می توانید به این خصوصیات دسترسی پیدا کرده و سپس به شیوه زیر از آنها استفاده کنید:

            Student std = new Student();
std.FirstName = "ali";
std.LastName = "aliyari";
string name = std.FirstName + " " + std.LastName;

متدهای یک شیء

متدها مجموعه عملیاتی هستند که یک شیء می تواند انجام دهد. به بیانی دیگر متدها باعث می شوند یه شی بتواند کاری را انجام دهد. به فرض مثال:

عملیاتی مانند عملیات زیر را می توان به کلاس دانشجو نسبت داد:

  • درس خواندن
  • فکر کردن
  • محاسبه کردن
  • نوشتن
  • خواندن
  • ورزش کردن
  • و…

یک متد در کلاس بصورت زیر تعریف می شود:

public void MethodName()
{
}

از این متد بصورت زیر می توان استفاده کرد:

Student std =new Student();
std.MethodName();

ادامه مقاله را در پست بعدی بخوانید

برای امتیاز به این نوشته کلیک کنید!
[کل: 6 میانگین: 3.5]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *