۷ مفهوم برنامه‌نویسی که همه باید بدانند

ترجمه و تالیف : علیرضا معمارزاده
تاریخ انتشار : 23 آبان 98
خواندن در 2 دقیقه
دسته بندی ها : برنامه نویسی

در این مقاله از سایت راکت به بررسی قوانین ساده و پایه برنامه‌نویسی که هرکسی حین برنامه‌نویسی باید از آنها مطلع باشد می‌پردازیم. 

همانطور که مطلع هستید، برنامه‌نویسی کار آسانی نیست. برنامه‌نویسی یا کدنویسی اگر به صورت درست انجام نشود می‌تواند بسیار کار سختی باشد. در اینجا برای نشان دادن نمونه‌ها از کدهای javascript استفاده شده ولی شما می‌توانید از هر زبان برنامه‌نویسی که می‌خواهید استفاده کنید.  

در این مقاله ما موارد زیر را برای شما به طور مختصر شرح می‌دهیم.

  1. کلاس‌ و شی
  2. متد‌های سازنده 
  3. استاتیک متد‌ها
  4. روندهای بازگشتی
  5. حلقه (loop)
  6. OOPS
  7. کتابخانه‌ها، ماژولها و پکیج‌ها

کلاس‌ و شی

کلاس یک طرح برای ایجاد اشیاء است و دارای یکسری متغیر و تابع است.

شی یک نمونه از کلاس است و به کمک شی می‌توانید به کلاس و توابع آن دسترسی داشته باشید.

متد‌های سازنده

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

در زیر ما نمونه‌ کدی از متد سازنده را برای شما آورده‌ایم: 

۷ مفهوم برنامه‌نویسی که همه باید بدانند

استاتیک متد‌ها

به طور قطع و یقین یکی از مهم‌ترین روش‌ها برای استفاده در کدنویسی هستند و به خودی خود به کلاس‌ها اختصاص می‌یابند و می‌توانند بدون نمونه‌سازی یک کلاس مورد استفاده قرار بگیرند. 

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

روندهای بازگشتی

بازگشتی تکنیکی است که یک تابع خودش، خودش را صدا بزند. در این روش برای به اتمام رساندن این فرایند نیاز به یک شرط خاتمه داریم .

۷ مفهوم برنامه‌نویسی که همه باید بدانند

حلقه‌ها (loop)

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

۷ مفهوم برنامه‌نویسی که همه باید بدانند

( OOPS ( Object Oriented Design

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

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

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

وراثت: وراثت مفهومی است که یک کلاس خصوصیات یک کلاس دیگر را اصطلاحاً به ارث می‌برد.

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

۷ مفهوم برنامه‌نویسی که همه باید بدانند

چندریختی (پُلی مورفیسم): به طور کلی به معنی توانایی پذیرش شکل‌های متفاوت است. به طور کلی دو نوع از چندریختی ساختن وجود دارد:

Compile time .1 : مورد اول در زمان کامپایل شدن کد.

 Run time .2: مورد دوم در زمان اجرا شدن کد. 

به مثال زیر توجه کنید:

در ابتدا ما کلاس overriding را ایجاد می‌کنیم، سپس درون آن از دو تابع print استفاده می‌کنیم.

در انتها یک نمونه از روی آن می‌سازیم و همانطور که مشاهده می‌کنید، زمانی که می‌خواهیم از تابع print برای شی ساخته شده استفاده کنیم، تابع print دوم نمایش داده می‌شود.

۷ مفهوم برنامه‌نویسی که همه باید بدانند

کتابخانه‌ها، ماژول‌ها و پکیج‌ها

تمامی این موارد یک معنی را می‌دهند و برای یک کار تکرارشونده نوشته شده‌اند. به طور کلی، SDE یا با کتابخانه‌ها و یا به تنهایی کار می‌کنند و باعث عملکرد خودکار کدهای تکراری می‌شوند که این مهم‌ترین نکته در این موقعیت می‌باشد. 

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

سخن پایانی

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

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

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

منبع

گردآوری و تالیف علیرضا معمارزاده
آفلاین
user-avatar

Student of Software Engineering, python Developer, i love programming and game

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید