آموزش

مفاهیم شی گرایی در پایتون (Python OOP)

مفاهیم شی گرایی در پایتون

برنامه نویسی شی گرا (OOP) یک رویکرد برای برنامه نویسی است که بر اساس اشیاء و کلاس ها بنا شده است. اشیاء موجودیت های مستقلی هستند که شامل داده و رفتار مرتبط با آن داده هستند. کلاس ها به عنوان الگویی برای ایجاد اشیاء عمل می کنند.

مفاهیم اصلی شی گرایی در پایتون:

  • کلاس: یک الگو برای ایجاد اشیاء است.
  • شیء: یک نمونه از یک کلاس است.
  • ویژگی: یک متغیر یا داده ای است که به یک شیء تعلق دارد.
  • متد: یک تابع یا عملی است که یک شیء می تواند انجام دهد.
  • وراثت: توانایی یک کلاس برای به ارث بردن ویژگی ها و متدهای کلاس دیگر است.
  • چندریختی: توانایی یک شیء برای پاسخ به یک پیام به روش های مختلف بسته به نوع آن است.

مثال:

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

کلاس:

Python
class Student:
  def __init__(self, name, age, grade):
    self.name = name
    self.age = age
    self.grade = grade

  def print_info(self):
    print(f"نام: {self.name}")
    print(f"سن: {self.age}")
    print(f"معدل: {self.grade}")

شیء:

Python
student1 = Student("علی", 18, 19)
student2 = Student("فاطمه", 17, 18)

ویژگی:

  • name
  • age
  • grade

متد:

  • print_info()

استفاده از اشیاء:

Python
student1.print_info()
student2.print_info()

خروجی:

نام: علی
سن: 18
معدل: 19

نام: فاطمه
سن: 17
معدل: 18

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

  • خوانایی: کد را خواناتر و قابل فهم تر می کند.
  • قابلیت نگهداری: کد را قابل نگهداری و ارتقا پذیرتر می کند.
  • قابلیت استفاده مجدد: کد را قابل استفاده مجدد در برنامه های دیگر می کند.
  • مقیاس پذیری: کد را مقیاس پذیرتر و قابل توسعه تر می کند.

  • کلاس:

    • برای تعریف یک کلاس از کلمه کلیدی class استفاده می‌شود.
    • یک کلاس شامل ویژگی‌ها (متغیرها) و روش‌ها (توابع) است.
    • مثال:
Python
class Person:
  # ویژگی‌ها
  name = ""
  age = 0

  # روش‌ها
  def greet(self):
    print(f"Hello, my name is {self.name}")
  • شیء:

    • برای ایجاد یک شیء از کلمه کلیدی new استفاده می‌شود.
    • یک شیء نمونه‌ای از یک کلاس است.
    • مثال:
Python
person1 = Person()
person1.name = "John Doe"
person1.age = 30

person2 = Person()
person2.name = "Jane Doe"
person2.age = 25

person1.greet()
person2.greet()
  • وراثت:

    • یک کلاس می‌تواند از کلاس دیگر وراثت ببرد.
    • کلاس فرزند ویژگی‌ها و روش‌های کلاس پدر را به ارث می‌برد.
    • مثال:
Python
class Employee(Person):
  # ویژگی‌ها
  salary = 0

  # روش‌ها
  def work(self):
    print(f"{self.name} is working")

employee1 = Employee()
employee1.name = "John Doe"
employee1.age = 30
employee1.salary = 100000

employee1.greet()
employee1.work()
  • چندریختی:

    • توانایی یک شیء برای پاسخگویی به یک پیام به روش‌های مختلف، بسته به نوع آن.
    • مثال:
Python
class Animal:
  def speak(self):
    raise NotImplementedError

class Dog(Animal):
  def speak(self):
    print("Woof!")

class Cat(Animal):
  def speak(self):
    print("Meow!")

dog1 = Dog()
cat1 = Cat()

dog1.speak()
cat1.speak()

نمایش بیشتر

نوشته‌های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا