خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


آموزش شی گرایی در سی شارپ pdf- دانلود پی دی اف کتاب شی گرایی در C#

آموزش شی گرایی در سی شارپ pdf- دانلود پی دی اف کتاب شی گرایی در C#
امروز در این نوشتار شما را با دنیای برنامه نویسی شیء گرا در محیط سی شارپ آشنا خواهیم کرد و در ادامه یک منبع آموزشی در فرمت pdf را نیز برای دانلود قرار خواهیم داد. سخن در باب برنامه نویسی شیء گرا فراوان رفته است و امروزه تقریباً کسی در دنیای کامپیوتر نیست که با اهمیت آن آشنایی نداشته باشد. به هر حال به رسم جاری، ما هم مقدمه ای در این باب مطرح می کنیم. شیء گرایی در برنامه نویسی رویکردی است که از دنیای واقعی الگو گرفته شده است. در دنیای واقعی ما هر روز با اشیاء فراوانی سر و کار داریم. بیایید با مثالی از دنیای واقعی در این موضوع عمیق تر شویم. فرض کنیم صبح از خواب بیدار شده اید و قصد دارید با خودروی شخصی تان به محل کارتان بروید. در اینجا شما با شیء خودرو سر و کار خواهید داشت. خود شیء خودرو متشکل از اشیاء فراوان دیگری است که تعدادش از هزار هم فزونی می یابد. به عنوان مثال بد نیست بدانید یک خودرو پراید ناقابل که خیلی ها حتی آن را ماشین هم حسابش نمی کنند، بیش از \(4000\) قطعۀ مختلف دارد که هر کدام از اینها یک شیء می باشند و در نتیجۀ تعامل بین این چند هزار قطعه است که خودرو حرکت می کند. اما برگردیم سراغ شما! سوار ماشین می شوید و به کمک سوئیچ ماشینتان را استارت می زنید. با این کار موتور خودروی شما روشن می شود و قطعات زیادی شروع به تعامل با یکدیگر و ارسال پیام و دریافت پیام از یکدیگر می کنند. در این وضعیت شما نیازی ندارید که نگران عملکرد تک تک این اشیاء باشید، حتی خود آن آشیاء نیز نیازی ندارند تا نگران کارکرد سایر اشیاء باشند. هر شیء فقط وظایف تعریف شدۀ خودش را انجام می دهد و در ضمن هر کدام از این اشیاء نیز خصوصیات خودشان را دارند.

اگر در مورد زبان برنامه نویسی سی شارپ مشتاق به یادگیری بیشتر هستید، می توانید از مجموعه آموزش برنامه نویسی سی شارپ استفاده کنید.


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

ایجاد کلاس ها در سی شارپ


بعد از مقدمه ای که در باب شیء گرایی مطرح شد، این بار به آموزش شی گرایی در سی شارپ می پردازیم. در دنیای برنامه نویسی اشیاء را با کلاس ها (Class) معرفی می کنند. البته کلاس ها خود اشیاء نمی باشند و در واقع الگویی می باشند که اشیاء از روی آنها ایجاد می گردند. به کلاس ها به عنوان قالبی که از روی آن اشیاء مختلف پلاستیکی یا فلزی را می سازند فکر کنید. شما وقتی یک کلاس داشته باشید می توانید از روی آن بی نهایت از شیء مورد نظر را تولید کنید. اگر در ارتباط با برنامه نویسی شیء گرا مشتاق یادگیری بیشتر هستید، توصیۀ ما به شما استفاده از آموزش شی‌ گرایی در سی شارپ می باشد.


آموزش شی گرایی در سی شارپ pdf

فرض کنید مشغول نوشتن یک نرم افزار اداری هستید و می خواهید برای کارمندان مجموعه ای کلاسی را تعریف کنید. به سادگی با دستور زیر می توانید این کلاس را ایجاد کنید. در زیر ما کلاسی با نام Employee (کارمند) معرفی کرده ایم.

class Employee
{
}

اما این فقط تعریف اصلی ساختار کلاس بود. همانطور که در مقدمۀ این آموزش اشاره کردیم، در برنامه نویسی شیء گرا ما مدلی از روی مدل اشیاء در دنیای واقعی می سازیم. پس در سی شارپ هم باید بتوانیم این کار را انجام دهیم. بیایید یکی از ویژگی های کارمندان را معرفی کنیم. به عنوان مثال ویژگی نام (Name). طبیعتاً هر کارمندی نامی دارد. برای معرفی نام کارمند، در داخل بدنۀ کلاس به شکل زیر این ویژگی را معرفی می کنیم.

private string _name;
public string Name
{
get { return _name; }
set { _name = value; }
}
در اینجا یک ویژگی برای کلاس Employee تعریف کردیم. اگر به تعریف کلاس دقت کنید، بخشی از آن کاملاً مشابه معرفی یک متغیر معمولی در سی شارپ است، به این بخش فیلد (field) گفته می شود، اگر دقت کنید این فیلد به صورت محلی (private) تعریف شده است. در بخش دوم یک متد عمومی (public) با دستور زبانی خاص و متفاوت از متدهای معمول نوشته ایم، به این متد خاص ویژگی (properties) می گویند. دلیل اینکه فیلد به صورت private تعریف شده و در مقابل خود ویژگی به صورت public تعریف شده است، اینست که فیلدها فقط قرار است در محدودۀ داخل کلاس نقش شان را ایفا کنند، اما ویژگی ها قرار است به عنوان روشی برای ارسال و دریافت پیام با سایر اشیاء عمل کنند. با تکرار همین رویه می توانیم برای هر کارمند یک کدپرسنلی (EmployeeID)، یک کلمۀ عبور (Password)، و سایر اطلاعات مورد نیاز را تعریف کنیم.

class Employee
{
private int _empID;
private string _loginName;
private string _password;
private string _department;
private string _name;

public string Name
{
get { return _name; }
set { _name = value; }
}

public int EmployeeID
{
get { return _empID; }
}

public string Password
{
get { return _password; }
set
{
if (value.Length >= 6)
{
_password = value;
}
else
{
throw new Exception("Password must be at least 6 characters");
}
}
}
}


به همین راحتی شما یک کلاس کارمند معرفی کردید و برای آن یک سری ویژگی ها نیز اضافه کردید. همانطور که دیدید هر کدام از این ویژگی ها با کمک فیلد هایی خصوصی کار می کنند. به این شکل که اگر از دنیای بیرون این کلاس مقداری به یکی از ویژگی های آن پاس شود، آن مقدار در فیلد خصوصی ذخیره می شود و اگر هم مقداری از داخل کلاس به دنیای بیرون پاس شود، مقدار داخل آن فیلد خصوصی است که منتقل می گردد. اما خود فیلد های خصوصی به دلیل اینکه از تغییرات مستقیم بیرونی در امان باشند، به این شکل معرفی شده اند. در اینجا ما از زبان برنامه نویسی سی شارپ استفاده کردیم، اما در سایر زبان های برنامه نویسی که از شیء گرایی پشتیبانی می کنند نیز می توانید با فرآیند تقریباً مشابهی کلاس هایتان را تعریف کنید. در همین راستا مجموعه آموزش برنامه نویسی فرادرس می تواند محل خوبی برای یادگیری بیشتر باشد.

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

اگر به قطعه کد بالا دقت کنید، خواهید دید که ویژگی EmployeeID فقط دارای get در بدنه اش می باشد و متد set ندارد. این هم نوع دیگری از کپسوله سازی (مخفی کردن اطلاعات از دنیای بیرون) است. به این نحو که هر شیئی در دنیای بیرون از این کلاس فقط می تواند مقدار این فیلد را بخواند و نمی تواند آن را تغییر دهد. در مورد ویژگی (پراپرتی) Password یک شرط در داخل بدنۀ set قرار داده شده است، به نحویکه اگر طول کلمۀ عبور کوچکتر از \(6\) کاراکتر باشد، نه تنها مقدار آن در فیلد خصوصی مربوطه جایگذاری نمی شود، بلکه خطایی نیز تولید می گردد.

ایجاد متدها (Method)


متدها رفتار هر کلاس را تعریف می کنند. به عنوان مثال قطعه کد زیر، متد لاگین (ورود به برنامه) توسط یک کارمند می باشد. هر شیء کارمند برای ورود به برنامه باید از این متد استفاده کند.

توجه داشته باشید که پیش فرض من در این آموزش این بوده است که شما با اصول کلی برنامه نویسی سی شارپ آشنا هستید و فقط به دنبال فراگیری شیء گرایی در سی شارپ می باشید،گر احساس می کنید که در آموزش های اولیه نیز تقویت بیشتری لازم دارید، آموزش مقدماتی برنامه نویسی سی شارپ می تواند به شما کمک کند.


public Boolean Login(string loginName, string password)
{
if (loginName == "Jones" & password == "mj")
{
_empID = 1;
Department = "HR";
Name = "Mary Jones";
return true;
}
else if (loginName == "Smith" & password == "js")
{
_empID = 2;
Department = "IS";
Name = "Jerry Smith";
return true;
}
else
{
return false;
}
}

در این متد فقط کارمندی با نام Jones و کلمۀ عبور mj و همین طور کارمند دیگری با نام Smith و کلمۀ عبور js برای ورود به برنامه مجاز شمرده شده اند. هر کارمند دیگری به غیر از این دو نفر غیر مجازند و اجازۀ ورود به برنامه را نخواهند داشت. همانطور که می بینید این متد به صورت عمومی تعریف شده است و نوع خروجی تابع آن نیز مقداری بولی است. در واقع در صورتی که لاگین صحیح انجام شود، true و در غیر این صورت false برگردانده می شود. صد در صد متوجه شده اید که این متدها، دقیقاً مشابه توابع و روال ها در برنامه نویسی غیر شیء گرا می باشند. واقعیت اینست که همان ها هم هستند، فقط در ساختار کلاس ها قرار گرفته اند و یک سری ویژگی های خاص خودشان را دارند. در برنامه نویسی رویه ای، شما به سادگی می توانستید هر تابع یا روالی را فراخوانی کنید، اما در برنامه نویسی شیء گرا باید قوانین خاصی را رعایت کنید که مهمترینشان اینست که باید ابتدا یک نمونه (Instance) از کلاس مربوطه بسازید.

نمونه گیری از کلاس (instantiate)


همانطور که پیش تر در این آموزش گفتیم، کلاس ها فقط قالب ایجاد اشیاء هستند و خود اشیاء نیستند. برای اینکه اشیاء را از روی کلاس ها تعریف کنیم، باید فرآیندی به نام نمونه گیری را انجام دهیم. به لحاظ کد نویسی این فرآیند کاملاً مشابه تعریف یک متغیر معمولی است. فقط نوع دادۀ آن، از نوع کلاس مربوطه خواهد بود. در قطعه کد زیر ما متغیری از کلاس کارمند که پیشتر با هم ایجاد کردیم، معرفی می کنیم. در واقع یک نمونه از آن کلاس را ایجاد می کنیم تا بتوانیم به کمک آن با داده ها و متدهای موجود در کلاس کار کنیم.

Employee oEmployee = new Employee();
txtEmpID.Text = oEmployee.EmpID.ToString();

بعد از اینکه از کلاس مربوطه نمونه گیری کردیم، می توانیم مقادیری را در داخل ویژگی های کلاس بنویسیم و یا مقادیر را از ویژگی های آن بخوانیم. همچنین قادر خواهیم بود که متدهای کلاس را فراخوانی کنیم. در اینجا یک نکتۀ بسیار مهم را نباید فراموش کنید و آن اینکه هر شیئی که از روی یک کلاس می سازید، یک شیء کاملاً مستقل از سایر اشیاء ساخته شده از روی آن کلاس می باشد و تمامی داده های آن می توانند با یکدیگر متفاوت باشند. بخشی از قدرت عظیم برنامه نویسی شیء گرا در همین نکته نهفته است.

دانلود کتاب آموزش شی گرایی در سی شارپ pdf


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


اگر برای تقویت دانش تان در شیء گرایی در سی شارپ و به طور کل برنامه نویسی با سی شارپ، نیازمند منابع بیشتری هستید، لینک های آموزشی زیر در فرادرس می توانند برای شما سودمند باشند:



نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز