مثال عملی برای شی گرایی در پایتون
مثال عملی برای شی گرایی در پایتون
سوال عملی با محوریت شی گرایی، وراثت و متغیرها در پایتون
فرض کنید آموزشگاه راهکار تبریز قصد دارد یک سیستم مدیریت دانشجو بسازد. این سیستم باید قابلیت ثبت نام دانشجو، مدیریت نمرات، و محاسبه معدل را داشته باشد. با توجه به مفاهیم شی گرایی در پایتون، یک کلاس پایه به نام Person تعریف کنید که دارای ویژگیهای مشترک همه افراد مانند نام، نام خانوادگی و تاریخ تولد باشد. سپس، کلاسهای فرعی Student و Instructor را از کلاس Person مشتق کنید. کلاس Student باید دارای ویژگیهای اضافی مانند شماره دانشجویی، رشته تحصیلی و لیست نمرات باشد. کلاس Instructor نیز باید دارای ویژگیهایی مانند رشته تدریس و عنوان شغلی باشد.
وظایف شما:
- کلاسهای
Person,StudentوInstructorرا به همراه متغیرها و متدهای مناسب پیادهسازی کنید. - از متغیرهای خصوصی برای محافظت از دادههای حساس مانند شماره دانشجویی و نمرات استفاده کنید.
- متدهایی برای محاسبه معدل، نمایش اطلاعات دانشجو و مدرس تعریف کنید.
- یک نمونه از هر کلاس ایجاد کرده و از متدهای تعریف شده استفاده کنید.
class Person:
def __init__(self, first_name, last_name, birth_date): # سازنده کلاس Person
self.first_name = first_name
self.last_name = last_name
self.birth_date = birth_date
class Student(Person): # کلاس Student از کلاس Person مشتق میشود
def __init__(self, first_name, last_name, birth_date, student_id, major, grades):
super().__init__(first_name, last_name, birth_date) # فراخوانی سازنده کلاس پایه
self.__student_id = student_id # شماره دانشجویی به عنوان متغیر خصوصی
self.major = major
self.grades = grades
def calculate_gpa(self): # متد برای محاسبه معدل
if len(self.grades) == 0:
return 0
return sum(self.grades) / len(self.grades)
def display_info(self): # متد برای نمایش اطلاعات دانشجو
print(f"Name: {self.first_name} {self.last_name}")
print(f"Student ID: {self.__student_id}")
print(f"Major: {self.major}")
print(f"GPA: {self.calculate_gpa()}")
class Instructor(Person): # کلاس Instructor از کلاس Person مشتق میشود
def __init__(self, first_name, last_name, birth_date, department, title):
super().__init__(first_name, last_name, birth_date)
self.department = department
self.title = title
def display_info(self): # متد برای نمایش اطلاعات مدرس
print(f"Name: {self.first_name} {self.last_name}")
print(f"Department: {self.department}")
print(f"Title: {self.title}")
# ایجاد نمونه از کلاسها
student1 = Student("علی", "احمدی", "1370/01/01", "123456", "کامپیوتر", [18, 19, 17])
instructor1 = Instructor("حسین", "رضایی", "1360/02/02", "کامپیوتر", "استاد")
# فراخوانی متدها
student1.display_info()
instructor1.display_info()
این مثال عملی به شما کمک میکند تا مفاهیم مهم شی گرایی مانند وراثت، کپسوله سازی و چندریختی را در پایتون به طور عمیق درک کنید. با پیادهسازی این مثال، میتوانید یک پایه قوی برای ساخت پروژههای پیچیدهتر در حوزه برنامهنویسی شیگرا ایجاد کنید.
همچنین می توانید مقاله دیگر ما را در این مورد با موضوع مثال و تمرین عملی برای شی گرایی در پایتون مطالعه کنید
یک زبان برنامهنویسی شیءگرا، متن باز،تفسیری، سطح بالا، و همه منظوره است، که خیدو فان روسوم آن را طراحی کردهاست، و اولین بار در سال ۱۹۹۱ منتشر شدهاست. فلسفه اصلی طراحی پایتون «خوانایی بالای کد» است و نویسههای فاصله خالی در آن معنادار هستند و مکرر استفاده میشوند. ساختار زبانی و دیدگاه شیءگرا در پایتون به گونهای طراحی شدهاست که به برنامهنویس امکان نوشتن کد منطقی و واضح (بدون ابهام) را برای پروژههای کوچک و بزرگ میدهد.