جستجو برای:
  • تقویم آموزشی
  • آموزش
    • آموزش آنلاین
    • آموزش آفلاین
  • لابراتوار آنلاین
  • وبینارها
    • پایتون برای هر چیزی
    • وبینار معرفی پیش نیاز های دوره های امنیت
    • وبینار معرفی دوره جامع Cisco Collaboration
    • وبینار معرفی دوره مهندسی پایتون
    • ذهنیت ها و تکنیک های چابکی برای توانمندسازی it
    • راه اندازی IP Telephony سیسکو در شبکه های سازمانی
    • وبینار Infrastructure as Code
    • وبینار امنیت سیستم های کنترل صنعتی
    • وبینار معرفی مرکز عملیات امنیت
    • وبینار ربات نویسی تلگرام با پایتون
    • وبینار نفوذ و گرفتن دسترسی از تلگرام
    • وبینار اصول نظارت بر شبکه های مخابراتی با رویکرد رگولاتوری
    • وبینار CSCU
    • وبینار Container on Wheels
    • وبینار مسیر آموزشی SANS
    • وبینار پدافند غیرعامل
    • وبینار Wazuh
  • بین الملل
    • ورود و ثبت نام کاربران
    • آموزشگاه های بین المللی
    • آزمون های بین المللی
  • دوره ها
    • امنیت
      • EC-Council
      • F5
      • Fortinet
      • ISACA
      • ISC2
      • Juniper
      • Payment Security
      • SANS
      • SCADA
      • Secure coding
      • SOC
      • Splunk
    • بانک اطلاعاتی
      • Oracle
      • SQL Server
    • برنامه نویسی
      • IOS
      • programming & Web
    • ذخیره و بازیابی اطلاعات
      • Big Data
      • EMC
      • HP
      • Netbackup
      • veeam
    • شبکه
      • Cisco Old Level
      • Cisco New Level
      • CompTIA
      • EPI
      • Linux
      • Microsoft
      • Mikrotik
      • SolarWinds
    • کارکنان دولت
    • مجازی سازی
      • Cloud computing
      • Hyper-V
      • VMWare
      • AWS
      • Azure
    • Devops
    • مخابرات
    • مدیریت فناوری اطلاعات
      • ISO 27001
      • IT Management
      • Project Management
    • ارزهای دیجیتال
    • ویژه دوران
      • کارگاه ها و سمینارها
      • محصولات دوران
  • کتابخانه
  • پادکست
  • ویدئوها
 
  • 02143585
  • دعوت به همکاری
  • درباره ما
  • تماس با ما
  • گروه دوران
  • دورتال
  • بلاگ
دوران آکادمی
دسته بندی‌ دوره‌ها
  • شبکه
    • Microsoft
    • SolarWinds
    • CompTIA
    • Cisco Old Level
      • Cisco New Level
    • Mikrotik
    • Linux
    • EPI
  • مخابرات
    • مخابرات
  • امنیت
    • ISC2
    • F5
    • EC-Council
    • Juniper
    • SOC
    • Fortinet
    • SANS
    • SCADA
    • ISACA
    • Secure coding
    • Payment Security
    • Splunk
  • مجازی سازی
    • Hyper-V
    • Cloud computing
    • VMWare
    • AWS
    • Azure
  • Devops
    • Devops
  • مدیریت فناوری اطلاعات
    • ISO 27001
    • IT Management
    • Project Management
  • برنامه نویسی
    • IOS
    • programming & Web
  • ذخیره و بازیابی اطلاعات
    • Big Data
    • HP
    • EMC
    • Netbackup
    • veeam
  • بانک اطلاعاتی
    • Oracle
    • SQL Server
  • دیجیتال مارکتینگ
    • دیجیتال مارکتینگ
  • ارزهای دیجیتال
    • ارزهای دیجیتال
  • ویژه دوران
    • کارگاه ها و سمینارها
    • محصولات دوران
    • کارکنان دولت
0

ورود و ثبت نام

  • صفحه اصلی
  • تقویم آموزشی
  • آموزش آنلاین
  • لابراتوار آنلاین
  • وبینارها
    • پایتون برای هر چیزی
    • وبینار معرفی پیش نیاز های دوره های امنیت
    • وبینار معرفی دوره جامع Cisco Collaboration
    • وبینار معرفی دوره مهندسی پایتون
    • ذهنیت ها و تکنیک های چابکی برای توانمندسازی it
    • راه اندازی IP Telephony سیسکو در شبکه های سازمانی
    • وبینار Infrastructure as Code
    • وبینار امنیت سیستم های کنترل صنعتی
    • وبینار معرفی مرکز عملیات امنیت
    • وبینار ربات نویسی تلگرام با پایتون
    • وبینار نفوذ و گرفتن دسترسی از تلگرام
    • اصول نظارت بر شبکه های مخابراتی
    • وبینار CSCU
    • وبینار Container on Wheels
    • وبینار مسیر آموزشی SANS
    • وبینار پدافند غیرعامل
    • وبینار Wazuh
  • بین الملل
    • آموزشگاه های بین المللی
    • آزمون های بین المللی
  • فرم پیش ثبت نام
  • کتابخانه
  • پادکست
  • ویدئوها

وبلاگ

دوران آکادمی بلاگ مقالات برنامه نویسی شی گرایی چیست؟

شی گرایی چیست؟

1401/09/27
ارسال شده توسط soheili
برنامه نویسی ، شبکه ، مقالات
362 بازدید
شی گرایی

در این مطلب به این سوال خواهیم پرداخت که OOP (برنامه نویسی شی گرا) چیست؟ و معنا، مفاهیم و فواید آن‌را بازگو خواهیم کرد. یکی از محبوب‌ترین رویکردهای برنامه‌نویسی، برنامه‌نویسی شی‌گرا (OOP)، بر روی اشیاء، یعنی مجموعه‌ای از داده‌ها و کدها ساخته شده است.

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

 

تصویری دورنما از یک پیاده سازی OOP

رویکرد برنامه نویسی شی گرا (OOP) گروه هایی از اشیاء را شناسایی می‌کند که ارتباط نزدیکی با روش‌هایی دارند که با آن‌ها مرتبط هستند. همچنین مفاهیم صفت و وراثت مِتد را پوشش می‌دهد. مؤسسه فناوری ماساچوست اولین مؤسسه‌ای بود که از اصطلاحات مربوط به «اشیاء» استفاده کرد، به این معنا که امروزه از دستاوردهای اواخر دهه 1950 و اوایل دهه 1960 از برنامه نویسی شی گرا در حال استفاده هستیم.

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

 

برنامه نویسی شی گرا چگونه کار می‌کند

مرحله اول در OOP جمع آوری تمام اشیایی است که یک برنامه نویس می‌خواهد با آن‌ها کار کند. پس ابتدا روابط بین آن‌ها را تعیین می‌کند، فرآیندی که به‌عنوان «مدل‌سازی داده» شناخته می‌شود. داده‌ها و توابع برای ایجاد یک شی از ساختار داده ترکیب می‌شوند. برنامه نویسان همچنین می‌توانند بین چندین شیء ارتباط برقرار کنند. برای مثال، اشیا می‌توانند صفاتی را از اشیاء دیگر الگو برداری کنند. انسان یک تصویر مستقیم از یک شی است.

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

هنگامی که اشیاءِ شما در جای خود قرار گرفتند، می‌توانید از روابط بین آن‌ها برای رسیدن به نتیجه مطلوب استفاده کنید. نمایشی را در نظر بگیرید که در آن شخصی سوار ماشین می‌شود و آن را از نقطه A به نقطه B می‌بَرد. شروع کار با اشیایی مانند یک شخص یا یک وسیله نقلیه، توصیف خواهد شد.

مفاهیم کلیدی شی گرایی

مفاهیم کلیدی شی گرایی

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

1.طبقه بندی(کلاس) :

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

 

  1. شیء :

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

 

  1. نحو :

اصولی که نحوه ساختار یک زبان را مشخص می‌کند به عنوان syntax شناخته می‌شود. در زبان‌های برنامه‌نویسی (برعکس زبان‌های طبیعی مانند انگلیسی)، نحو مجموعه قوانینی است که شیوه‌ی سازماندهی کلمات، علائم نقطه گذاری و نمادها را در یک زبان برنامه نویسی تعریف و راهنمایی می‌کند. بدون نحو، درک معناشناسی یا معنای یک زبان تقریباً دشوار است. اگر نحو یک زبان رعایت نشود یک کامپایلر یا مفسر نمی‌تواند کد را درک کند.

 

  1. کپسوله سازی:

کپسوله سازی در برنامه نویسی شی گرا ، فرآیند گروه بندی توابع و داده‌ها در یک موجودیت واحد است. برای دسترسی به این اعضای داده، محدوده تابع عضو باید روی «public» (عمومی) تنظیم شود، در حالی که محدوده اعضای داده باید روی «private» (خصوصی) تنظیم شود. بر اساس این نظریه، یک آیتم حاوی تمام اطلاعات مهم است. تنها یک زیرمجموعه کوچک در دسترس جهانِ پیرامونی است. هر شی دارای یک کلاس مخصوص است که شامل پیاده سازی و شکل و وضعیت آن است.

 

  1. چند شکلی

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

 

  1. ارث

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

 

  1. انتزاع

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

 

  1. جفت‌سازی

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

 

  1. انسجام

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

 

  1. انجمن

در حالت شی گرایی ، ارتباط یک اتصال بین دو کلاس متمایز است که با کمک اشیاء آن‌ها ایجاد می‌شود. ارتباط «یک به یک»، «یک به چند»، «چند به یک» و «چند به چند» همگی امکان پذیر است. تداعی ارتباط بین دو چیز است. تنوع بین اشیا توسط یکی از مفاهیم شی گرایی جاوا تعریف شده است. هیچ مالکی در این مفهوم OOP وجود ندارد و هر شی یک چرخه حیات متمایز دارد.

 

  1. تجمع

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

 

  1. ترکیب

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

 

  1. ماژولار بودن

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

 

  1. سازنده ها و روش ها

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

مزایای برنامه نویسی شی گرایی

مزایای برنامه نویسی شی گرایی:

  • ماژولار بودن
  • کپسوله‌سازی؛ که اشیا را قادر می‌سازد تا خودکفا باشند و عیب‌یابی و توسعه مشارکتی داشته باشند.
  • قابلیت استفاده مجدد
  • بهره وری بیشتر
  • راحتی در قابلیت ارتقا و مقیاس پذیری بیشتر
  • توضیحات رابط
  • امنیت
  • انعطاف پذیری

 

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

۱
۲
۳
۴
۵
میانگین امتیازات ۵ از ۵
از مجموع ۲ رای
اشتراک گذاری:
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
محتوا پنهان
1 تصویری دورنما از یک پیاده سازی OOP
2 برنامه نویسی شی گرا چگونه کار می‌کند
3 مفاهیم کلیدی شی گرایی
3.1 مزایای برنامه نویسی شی گرایی:
مطالب زیر را حتما بخوانید
  • اسکریپت نویسی شل چیست؟
    اسکریپت نویسی شل چیست؟

    38 بازدید

  • جیسون (JSON) برای پایتون
    جیسون (JSON) برای پایتون

    127 بازدید

  • جیسون (json) چیست؟
    جیسون (json) چیست؟

    98 بازدید

  • اکسپلویت سرریز بافر

    216 بازدید

  • پهنای باند چیست
    پهنای باند چه چیزی هست (پهنای باند چیست)

    385 بازدید

  • برنامه نویسی ktolin
    برنامه نویسی kotlin

    301 بازدید

قدیمی تر رزبری پای
جدیدتر مقایسه NET Core. و NET Framework
0 0 رای ها
رأی دهی به مقاله
اشتراک در
وارد شدن
اطلاع از
guest

guest

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
دسته‌های دوره های آموزشی
  • آموزش دوره های devOPS
  • ارزهای دیجیتال
  • امنیت
    • EC-Council
    • F5
    • Fortinet
    • ISACA
    • ISC2
    • Juniper
    • Payment Security
    • SANS
    • SCADA
    • Secure coding
    • SOC
    • Splunk
  • بانک اطلاعاتی
    • Oracle
    • SQL Server
  • برنامه نویسی
    • IOS
    • programming & Web
  • درحال برگزاری
  • دیجیتال مارکتینگ
  • ذخیره و بازیابی اطلاعات
    • Big Data
    • EMC
    • HP
    • Netbackup
    • veeam
  • شبکه
    • Cisco Old Level
      • Cisco New Level
    • CompTIA
    • EPI
    • Linux
    • Microsoft
    • Mikrotik
    • SolarWinds
  • کارکنان دولت
  • مجازی سازی
    • AWS
    • Azure
    • Cloud computing
    • Hyper-V
    • VMWare
  • مخابرات
  • مدیریت فناوری اطلاعات
    • ISO 27001
    • IT Management
    • Project Management
  • ویژه دوران
    • کارگاه ها و سمینارها
    • محصولات دوران
محتوا پنهان
1 تصویری دورنما از یک پیاده سازی OOP
2 برنامه نویسی شی گرا چگونه کار می‌کند
3 مفاهیم کلیدی شی گرایی
3.1 مزایای برنامه نویسی شی گرایی:
اطلاعات تماس
  • خیابان بهشتی، خیابان پاکستان، خیابان حکیمی پلاک ۱۲
  • 02143585 داخلی 264 و 257 و 269
  • 02143585555
پیوندهای مهم
  • گالری
  • مجوزها
  • فرم پیش ثبت نام
  • مشتریان
  • فرم درخواست مدرک
  • لابراتوار آنلاین
  • در حال تکمیل ظرفیت
  • سند راهبردی آموزش
  • بلاگ
تمامی حقوق برای آکادمی دوران محفوظ می باشد.

آموزش نه ! استخدامت هم با آکادمی دوران  ( کلیک کنید)

wpDiscuz
0
0
افکار شما را دوست داریم، لطفا نظر دهید.x
()
x
| پاسخ

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت