جاوا

شی گرایی چیست؟ آموزش مفاهیم شی گرایی در زبان جاوا

با شی گرایی در برنامه نویسی اندروید آشنا شوید

جلسه پنجم – شی گرایی چیست؟ آموزش مفاهیم شی گرایی در زبان جاوا

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

این مقاله دارای قسمت های زیر است:

برنامه نویسی شی گرا از کجا آمده است؟
توضیح مفهوم شی گرایی به زبان ساده
وراثت چیست؟
دانلود فایل PDF این جلسه
نظر شما چیست؟

 

 برنامه نویسی شی گرا از کجا آمده است؟

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

به همین دلیل میتوانیم اندیشه ها و تفکرات خود را راحت تر به برنامه و کد تبدیل کنیم. شی گرایی هم دقیقا در ادامه همین ساده سازی برنامه نویسی به وجود آمده است. این تفکر دقیقا از روی اشیائی که در زندگی خود می بینیم گرفته شده است. یعنی سعی میکند که همه اجزا برنامه نویسی را با شی مدل کند. در ادامه مفهوم شی گرایی را با مثال هایی به شما توضیح میدهم.

 

توضیح مفهوم شی گرایی به زبان ساده

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

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

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

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

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

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

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

 

وراثت چیست؟

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

 

دانلود فایل PDF این جلسه

دانلود فایل PDF جلسه پنجم با لینک مستقیم

تولید کننده: برنامه چی

نوع: کتاب الکترونیک

 

سوالات و نظرات شما؟

نظر شی گرایی

شما میتوانید با اضافه کردن نظر خود به این مقاله آموزشی، آنرا کامل تر بکنید. نظر خود را با ما در میان بگذارید. اگر سوالی در این باره میتوانید آن را در قسمت نظرات بپرسید تا سریعا به آنها پاسخ بدهیم.



برچسب ها

خانقلی علی

به برنامه نویسی و مخصوصا برنامه نویسی اندروید علاقه بسیار زیادی دارم. همه تلاشم هم اینه که با "برنامه چی" بتونم برنامه نویسی رو برای همه خیلی راحت کنم. به وبسایت ما خوش اومدین! 😉

‫۱۱ نظرها

پاسخی بگذارید

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

نوشته های مشابه

دکمه بازگشت به بالا
بستن
بستن