تالار گفتگوی کیش تک/ kishtech forum
  • سردر
  • جستجو
  • فهرست اعضا
  • سالنامه
  • راهنما
درود مهمان گرامی! ورود ثبت‌نام
ورود
نام کاربری:
گذرواژه‌:
گذرواژه‌تان را فراموش کرده‌اید؟
 
تالار گفتگوی کیش تک/ kishtech forum › پردیس فناوری کیش › فناوری اطلاعات و ارتباطات v
« قبلی 1 … 35 36 37 38 39 … 81 بعدی »

آشنایی با مفاهیم شئ‌گرایی و برنامه‌نویسی شئ‌گرا به زبان ساده

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
حالت موضوعی
آشنایی با مفاهیم شئ‌گرایی و برنامه‌نویسی شئ‌گرا به زبان ساده
علي پروازي لطفي آفلاین
عضو جوان
**
ارسال‌ها: 30
موضوع‌ها: 30
تاریخ عضویت: Aug 2020
اعتبار: 0
#1
28-08-2020, 03:15 PM
پردیس فناوری کیش _طرح مشاوره متخصصین صنعت ومدیریت _دپارتمان فناوری اطلاعات وارتباطات

برنامه‌نویسی شئ‌گرا (Object Oriented Programming) که به اختصار OOP نیز نامیده می‌شود، در حقیقت نوعی منطق یا الگوست که برگرفته از زندگی روزمره‌ی ما بوده و حدودا در دهه‌ی ۱۹۶۰ میلادی مطرح شد، در ادامه با همیار آی‌تی همراه باشید تا بیشتر با مفهوم شی گرایی و برنامه‌نویسی شئ گرا آشنا شویم.

[تصویر:  Object-Oriented-Programming.png-hamyarit...amming.png]

همانطوری که گفتیم در برنامه نویسی شی گرا، برنامه را شبیه به دنیای اطراف و زندگی روزمره خودمان می‌بینیم، در حقیقت برپایه‌ی مدل‌سازی اشیا.
این موضوع را با یک مثال برای شما شرح می‌دهیم:
یک خودرو را به عنوان یک شئ در نظر بگیرید، ویژگی‌هایی مانند رنگ، وزن، سرعت و… از جمله مواردی هستند که می‌توان به عنوان ویژگی‌های یک خودرو در نظر گرفت، همچنین یک خودرو مجموعه رفتارهایی مانند، حرکت کردن، ترمز گرفتن، بوق زدن و… را نیز از خود نشان می‌دهد.
به هر موجودیتی که دارای خصوصیت، اطلاعات، وضعیت یا رفتار خاصی باشد یک شئ یا Object گفته می‌شود، این آبجکت را می‌توان به صورت فیزیکی یا منطقی در نظر گرفت.
به اطلاعات و ویژگی‌های موجود برای یک شئ خصوصیت یا Atribute می‌گویند و اعمالی که یک شئ می‌تواند از خود بروز دهد رفتار یا Behavior نام دارند.
در مثال بالا خودرو را به عنوان یک شئ یا Object در نظر بگیرید، خصوصیات این شئ عبارتند از رنگ، سرعت و… که همان Attributeها هستند، همچنین اعمالی مانند حرکت کردن، بوق زدن و… رفتارها یا Behavior‌های این شئ نامیده می‌شوند.
در ادامه بیشتر با این مفاهیم در برنامه‌نویسی آشنا خواهیم شد و ارتباط آن‌ها را با برنامه‌نویسی شئ‌گرا بیان خواهیم کرد، اما در ابتدا بیایید با چند مفهوم دیگر در شئ‌گرایی آشنا شویم.


مفهوم کلاس (Class) در شئ‌گرایی چیست؟

به زبان ساده می‌توان کلاس را به عنوان قالبی برای اشیا در نظر گرفت، مثلا خودروی BMW یک نمونه شئ از کلاس خودرو است، کلاس‌ها معمولا در بردارنده‌ی خصوصیات و رفتار اشیا هستند، مثلا کلاس خودرو دربردارنده‌ی ویژگی‌های یک خودرو مثل سرعت، وزن، رنگ و… است و هر مدل خودرویی که از این کلاس در نظر بگیریم تمامی ویژگی‌های گفته شده در کلاس را درون خود خواهد داشت، برای درک بهتر این مفهوم تصویر زیر را ببینید:

[تصویر:  oop-example-car.png-hamyarit.com-oop-example-car.png]

چرا از برنامه‌نویسی شئ گرا استفاده می‌کنیم؟

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


مفهوم ارث‌بری (Inheritance) در شی گرایی

به زبان بسیار ساده، اشیا خصوصیات و رفتارها را از کلاس والد خود به ارث می‌برند، به عنوان مثال خودروی BMW خصوصیاتی مانند سرعت، وزن، رنگ و… را از کلاس اصلی (والد) خود به ارث برده است، هر شئ دیگری نیز از این کلاس بسازید این ویژگی‌ها را در خود دارد، یک کلاس می‌تواند تعدادی ویژگی را از کلاس دیگری به ارث ببرد، در این صورت شئ ساخته شده از کلاس جدید، ویژگی‌های هردو کلاس را در خود خواهد داشت، این مفهوم را ارث‌بری می‌نامیم.


آشنایی با مفهوم Public و Private در کلاس‌ها

همانطور که بالاتر اشاره کردیم داده‌های موجود در کلاس از بیرون قابل دستیابی نیستند و این مفهوم به کمک وضعیت Private برای داده‌ها امکان‌پذیر خواهد بود، در حالت کلی حالات مختلفی برای داده‌ها قابل استفاده است، حالت Private یعنی داده‌ها تنها داخل کلاس شناخته‌شده هستند و در خارج از کلاس امکان مشاهده و تغییر آن‌ها وجود نخواهد داشت، اما در نقطه‌‌ی مقابل در حالت Public است که اطلاعات موجود در کلاس در خارج از بدنه‌ی کلاس نیز قابل دستیابی و تغییر هستند.


مزایای برنامه‌نویسی شئ‌گرا چیست؟

هرچند برنامه‌نویسی شئ‌گرا در ابتدا شاید کمی پیچیده به نظر برسد و احتیاج به تجزیه تحلیل‌های اولیه‌ی برای پیاده‌سازی برنامه داشته باشد، اما در دراز مدت و در مراحل تست و نگه‌داری برنامه به شدت به کمک شما خواهد آمد، از ویژگی‌های برنامه‌نویسی شئ‌گرا می‌توان به موارد زیر اشاره کرد:
[list]
[*]افزایش امنیت برنامه
[*]کاهش هزینه نگهداری
[*]قابلیت استفاده مجدد
[*]تحلیل ساده‌تر برنامه
[/list]همانطور که در ابتدای مقاله گفتیم برنامه‌نویسی شئ‌گرا به شدت به دنیای واقعی ما انسان‌ها شباهت دارد و معمولا ساده‌تر توسط ذهن درک می‌شود، بنابراین سعی کنید تا حد ممکن برنامه‌های خود را با استفاده از اصول شئ‌گرایی نوشته و به دنیای برنامه‌نویسان حرفه‌ای نزدیک‌تر شوید.

source:hamyarit.com/8782
ارسال‌ها
پاسخ
« قدیمی‌تر | جدیدتر »


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  آشنایی با موثرترین روش های بهبود سئو سایت arezu3 1 2,486 05-10-2022, 07:51 PM
آخرین ارسال: مونا سیار
  چرا زبان کاتلین را برای طراحی اپلیکیشن انتخاب کنیم؟ aram 0 960 14-09-2022, 12:27 PM
آخرین ارسال: aram
  آشنایی با طرز کار تین کلاینت و مینی کامپیوتر و مزایای آن arezu3 0 2,005 30-05-2022, 02:34 PM
آخرین ارسال: arezu3
  آشنایی با طرز کار تین کلاینت و مینی کامپیوتر و مزایای آن arezu3 0 1,423 26-04-2022, 03:47 PM
آخرین ارسال: arezu3
  آشنایی با بازی آمیرزا pbaxx 0 1,329 04-03-2022, 06:52 PM
آخرین ارسال: pbaxx
  زمان نام نویسی آزمون جذب اختصاصی قضات heyvagp1 0 1,648 24-01-2022, 02:31 PM
آخرین ارسال: heyvagp1
  فیلم آموزش کامل گوگل ادز به زبان فارسی diako98 2 2,721 04-12-2021, 10:08 PM
آخرین ارسال: shadabshahin
  کدام زبان برنامه نویسی بهتر است؟ Mahdiderakhshi 0 967 11-06-2021, 03:57 PM
آخرین ارسال: Mahdiderakhshi
  معرفی ۵ زبان برنامه نویسی اندروید Mahdiderakhshi 0 945 11-06-2021, 03:52 PM
آخرین ارسال: Mahdiderakhshi
  زبان برنامه نویسی PHP چیست؟ Mahdiderakhshi 0 598 11-06-2021, 03:45 PM
آخرین ارسال: Mahdiderakhshi

  • مشاهده‌ی نسخه‌ی قابل چاپ
پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
  • تیم انجمن
  • صفحه‌ی تماس
  • تالار کیش تک / kishtech forum
  • بازگشت به بالا
  • بایگانی
  • نشانه‌گذاری تمامی انجمن‌ها به عنوان خوانده شده
  • پیوند سایتی RSS
زمان کنونی: 20-07-2025، 08:08 PM Persian Translation by MyBBIran.com - Ver: 6.5
Powered by MyBB, © 2002-2025 MyBB Group.