انتزاع در برنامه نویسی شی گرا چیست؟ یکی از مهمترین اصطلاحات برنامه نویسی شی گرا ، مفهوم انتزاع است. در این مقاله این مفهوم را توضیح خواهیم داد.
انتزاع یکی از مفاهیم کلیدی در زبانهای برنامه نویسی شی گرا (OOP) است. هدف اصلی آن مدیریت پیچیدگی با پنهان کردن جزئیات غیر ضروری از کاربر است. این امر به کاربر اجازه میدهد تا منطق پیچیدهتری را علاوه بر انتزاع ارائه شده بدون درک یا حتی فکر همه پیچیدگی های پنهان پیاده سازی کند.
انتزاع یک مفهوم کلی است که محدود به برنامه نویسی شی گرا نیست. شما می توانید آن را در سراسر جهان واقعی پیدا کنید.
انتزاع در فلسفه و علم
انتزاع یا تجرید (Abstraction) در علوم و فلسفه به معنای تعمیم دادن جزئیات به کلیات ، پنهانسازی جزئیات از کلیات و … میباشد.
به زبان ساده انتزاع یعنی توجه به کلیات بدون توجه زیاد به جزئیات.
همچنین انتزاع به معنی مفهوم ذهنی در برابر مفهوم عینی نیز گاهی به کار میرود. و نیز به معنی مفهوم در برابر مصداق.
برای مثال وقتی شما به یک درخت فکر میکنید ، مفهوم کلی درخت را به صورت کلی و ذهنی در ذهنتان تصور میکنید و کاری به مصداق واقعی و عینی آن درخت در عالم بیرون ندارید. یعنی بدون نیاز به دیدن یک درخت خاص در عالم بیرون ، میتوانید به یک درخت خیالی فکر کنید.
همچنین به جزئیات آن درخت مانند شاخ و برگ آن خیلی توجهی نمیکنید. این همان مفهوم انتزاع یا تجرید است.
انتزاع در دنیای واقعی
به عنوان یک مثال خوب از انتزاع در دنیای واقعی ، یک دستگاه قهوه جوش را در نظر بگیرید.
تهیه قهوه با دستگاه قهوه جوش نمونه خوبی از انتزاع است.
شما باید بدانید که چگونه از دستگاه قهوه جوش خود برای تهیه قهوه استفاده کنید. شما میبایست آب و دانههای قهوه را تهیه کنید ، آن را روشن کرده و نوع قهوه مورد نظر خود را انتخاب کنید.
نکته ای که لازم نیست بدانید نحوه عملکرد فنی و داخلی دستگاه قهوه جوش برای دم کشیدن یک فنجان قهوه است. نیازی نیست از دمای ایدهآل آب یا میزان استفاده از قهوه آسیاب شده مطلع باشید.
شخص دیگری پیش از شما این کار را انجام داده و دستگاه قهوه جوش ایجاد کرده است. و اکنون ایده آن شخص به عنوان یک انتزاع عمل میکند و همه این جزئیات را پنهان میکند. شما به سادگی با یک رابط کاربری ساده که نیازی به دانش فنی داخلی ندارد ، با دستگاه قهوه جوش ارتباط برقرار میکنید.
شما میتوانید از همین مفهوم در زبانهای برنامه نویسی شی گرا مانند جاوا استفاده کنید.
انتزاع در زبان برنامه نویسی شی گرا (OOP)
اشیاء در یک زبان OOP چکیدهای را ارائه میدهند که جزئیات پیادهسازی داخلی کدها و توابع را پنهان میکند. مشابه دستگاه قهوه جوش در آشپزخانه شما ، فقط باید بدانید که چه روشهای شیئی برای فراخوانی وجود دارد و چه پارامترهای ورودی برای شروع یک عملیات خاص مورد نیاز است.
اما نیازی نیست که بفهمید این روش چگونه اجرا میشود و چه نوع اقداماتی باید انجام دهد تا نتیجه مورد انتظار را ایجاد کند.
انتزاع در برنامه نویسی شی گرا مترادف با پنهانسازی و مخفیسازی نیز هست ، چرا که انگاری برخی از توابع و روشها درون محفظههایی قرار میگیرد که از دید برنامه نویسان دیگر پنهان است.
کاربرد انتزاع در برنامه نویسی شی گرا
یکی از اصول کلی برنامه نویسی شی گرا یا OOP ، انتزاع است. انتزاع یکی از مهمترین مفاهیمی است که به برنامه نویسان اجازه میدهد تنها بر جنبههایی که برای سیستم مورد بررسی مهم هستند تمرکز کنند.
انتزاع به برنامه نویس اجازه میدهد تا بر روی جزئیات پیادهسازی اقدامات در کلاسها ، روشهای موجود و غیره تمرکز کند تا برنامه نویسی ساده شود.
ما میتوانیم انتزاع را با استفاده از مثالهای وراثت و کپسوله سازی درک کنیم:
در سلسله مراتب وراثت ، ابر کلاسهای والد یا کلاسهای بالاتر شامل یک پیاده سازی ساده و کلی هستند ، اما زیر کلاس فرزند یا طبقه پایین شامل پیاده سازی دقیقتری از کلاسهای بالاتر است. این امر انتزاعی است.
هنگامی که یک برنامه نویس جزئیات پیادهسازی یک کلاس را از سایر کلاسها در محفظه پنهان میکند ، کلاس سادهتر میشود.
انواع مختلف انتزاع در برنامه نویسی شی گرا چیست؟
دو نوع انتزاع وجود دارد.
- انتزاع دادهها
- انتزاع فرآیند
انتزاع دادهها
وقتی دادههای شی برای جهان خارج قابل مشاهده نباشد ، یک انتزاع داده ایجاد میکند. در صورت لزوم ، دسترسی به دادههای شی با روشهای خاصی فراهم میشود.
انتزاع فرآیند
ما نیازی به ارائه جزئیات در مورد همه توابع یک شی نداریم. وقتی اجرای داخلی توابع مختلف درگیر در عملیات کاربر را پنهان میکنیم ، یک انتزاع فرآیند ایجاد میکند.
در این مقاله در مورد انتزاع در برنامه نویسی شی گرا صحبت کردیم. با تشکر از مطالعه شما.
منابع مورد استفاده
۱. مفاهیم مقدماتی OOP – ترجمه از انگلیسی
۲. انتزاع در شی گرایی – ترجمه از انگلیسی
این مقاله برای من مفید بود
1+ 1 نفر این مقاله را پسندیده