کداکسپلور | CodeExplore
7.92K subscribers
1.92K photos
297 videos
103 files
1.68K links
با کد اکسپلور یاد بگیر، لذت ببر و بروز باش ⚡️😉

سایت کد‌اکسپلور:
CodeExplore.ir
👨🏻‍💻 ارتباط با ما :
@CodeExploreSup
گروه :
@CodeExplore_Gap
تبلیغات در کد اکسپلور :
@CodeExploreAds
Download Telegram
🔹برنامه‌نویسی شی‌گرا Object-Oriented Programming - OOP چیست؟

در برنامه‌نویسی شی‌گرا، کد به شی‌ها (objects) و کلاس‌ها (classes) تقسیم می‌شود. هر شیء در OOP دارای وضعیت (متغیرها) و رفتار (متدها) است. این به ما این امکان را می‌دهد که موضوعات را به صورت واقعیت‌محور (object-centric) شرح دهیم، بجای اینکه به شیوه ساختارمحور (procedural) عمل کنیم.

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

class Book:
def init(self, title, author, ISBN):
self.title = title
self.author = author
self.ISBN = ISBN

def display_info(self):
print(f"Title: {self.title}, Author: {self.author}, ISBN: {self.ISBN}")

first_book = Book("The Catcher in the Rye", "J.D. Salinger", "9780316769488")
second_book = Book("To Kill a Mockingbird", "Harper Lee", "0061120081")

first_book.display_info()
second_book.display_info()

🔸 برنامه‌نویسی رویه‌ای Procedural Programming چیست؟

در برنامه‌نویسی رویه‌ای، برنامه به صورت مجموعه‌ای از رویه‌ها یا توالی‌های دستورات سازماندهی می‌شود. تمرکز اصلی بر روی دستورات و توالی اجرا قرار دارد، و مفاهیمی مانند تقسیم مسئله به اجزای کوچک‌تر یا تجزیه و تحلیل (decomposition) از اهمیت زیادی برخوردارند.

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

def calculate_average(num_list):
total = sum(num_list)
count = len(num_list)
average = total / count
return average

my_list = [3, 5, 7, 11, 13, 17]
result = calculate_average(my_list)
print(f"The average is: {result}")

#oop #procedural
@CodeExplore
10🔥4❤‍🔥1
🔺تفاوت برنامه نویسی شی گرا و برنامه نویسی رویه ای

1. منطق و ساختار:
- OOP: تمرکز بر روی اشیاء و آنچه که انجام می‌دهند و ویژگی‌هایشان دارد.
- Procedural: تمرکز بر روی دستورات و توالی اجرا.

2. تجزیه و تحلیل مسئله:
- OOP: به کمک مفاهیم چیدمانی شیء می‌توان به ساختار منظمی دست یافت.
- Procedural: با تقسیم مسئله به اجزای کوچک‌تر و توالی اجرا آنها به رسیدگی می‌شود.

3. سطح انتزاع (Abstraction):
- OOP: قابلیت انتزاع بالا با استفاده از کلاس‌ها و اشیاء.
- Procedural: سطح کمتری از انتزاع وجود دارد.

4. باز استفاده کد (Code Reusability):
- OOP: کد قابل استفاده مجددی را بوجود می‌آورد.
- Procedural: کد تکراری‌تر است و بازاستفاده کمتری دارد.

5. تعمیم (Generalization) و وابستگی (Dependency):
- OOP: می‌توان کلاس‌ها را به یکدیگر مرتبط کرد و ارث‌بری و پلیمرفیسم را پشتیبانی می‌کند.
- Procedural: این قابلیت‌ها کمتر مورد پشتیبانی قرار می‌گیرند.

در نهایت، انتخاب بین این دو رویکرد به میزان پیچیدگی پروژه، ساختار و توسعه پذیری برنامه و البته تجربه و توانایی برنامه‌نویس بستگی دارد.

اگر تفاوت دیگه توی ذهنتون هست توی کامنت ها بنویسید🧡

#oop #procedural
@CodeExplore
11🔥5❤‍🔥1