معماری MVC چیست؟
معماری MVC یا Model-View-Controller یک الگوی طراحی است که برای توسعه نرم افزارهای وب استفاده می شود. این الگو از سه بخش اصلی
کلاس در پایتون ادامه و تکمیل کننده شی گرایی است که در مطلب مفاهیم اولیه برنامه نویسی پایتون مقدماتی در رابطه با آن صحبت کردیم.
کلاس در پایتون ادامه و تکمیل کننده شی گرایی است که در مطلب مفاهیم اولیه برنامه نویسی پایتون مقدماتی در رابطه با آن صحبت کردیم.
می خواهیم به تعریف کامل کلاس در پایتون بپردازیم پس همراه آکادمی ایتروز باشید.
در کلاس می توانید مقادیر مختلفی ایجاد و در برنامه از آنها استفاده نماید.
class MyClass: x = 5
دربالا ساده ترین نوع کلاس تعرف شده است که به مرور آن را تکمیل می نمایم.
کلاس را با حرف class شروع می کنیم و سپس برای آن نام تعریف می کنیم و در نهایت دو نقطه ساعتی
همانطور که در مثال مشاهده می کنید در بدنه کلاس یک متغییر داریم که به آن مقدار پنج داده ایم.
ما می توانیم از کلاس بالا در برنامه استفاده کنیم اما اجازه دهید کلاس خود را گسترش دهیم.
برای اینکه بعدا این صحبت برای شما گنگ نباشد در همان ابتدا آبجکتی ایجاد می کنیم.
شما می توانید برای کلاس ایجاد شده آبجکت تعریف کنید. برای مثال فرض کنید پوشه ای دارید که کلاس های خود را در آن تعریف کرده اید.
حال می خواهید در قسمت های مختلف از آن کلاس استفاده کنید. برای این کار کافی است از آن کلاس آبجکت بسازید.
p1 = MyClass() print(p1.x)
در بالا کلاس MyClass ایجاد شد. فرض کنید این کلاس در پوشه ای که کلاس های پروژه قرار دارد نوشته شده.
حال با کد نوشته شده می توانید از خصوصیات آن کلاس استفاده نماید. p1 آبجکتی ایجاد شده از کلاس MyClass است که مقدار x را نمایش می دهد. در اصل x یک ویژگی از کلاس MyClass است که در آبجکت p1 از آن استفاده شده.
شاید کلاس مورد نظر بیشتر از یک ویژگی داشته باشد اما در آبجکت شما بخواهید از یکی از آنها استفاده نماید.
تا به اینجا ساختار کلی کلاس تعریف شد در ادامه می خواهیم آن را گسترش دهیم.
در پایتون توابع کلاس با علامت (__) ساخته می شود زیرا دارای معنای خاصی هستند.
یکی از توابع محبوب و پرکاربرد تابع __init__ است. این تابع سازنده یا constructor است.
وقتی یک شی از کلاس می سازید می توانید با تابع __init__ آرگومانهای اولیه را تعریف کنید.
class Person: vname = 'John' vage = 20 def __init__(self, name, age): self.name = name self.age = age p1 = Person("John", 36) print(p1.name) print(p1.age)
به کلاس فوق توجه کنید. ما از طریق این تابع آرگومانهای اولیه name و age تعریف کردیم.
اما یک نکته وجود دارد vname و vage متغییر های کلاس هستند اما name و age متغییر های شی هستند.
در هنگام ساخت هر گونه آبجکتی از روی کلاس Person اتریبیوت name باید به مقدار معادل پارامتر ورودیِ name منتسب شود.
همچنین دستور self.age = age نیز اتریبیوت age را برای هر گونه آبجکت ساختهشده از روی این کلاس به مقدار پارامتر ورودیِ age منتسب میکند. اما self چیست؟
self باعث فراخوانی پارامترهای هر شی می شود. در مثال فوق متغییر name توسط self فراخوانی شده است.
در فراخوانی متغییر شی نیازی به استفاده از self نیست زیرا پایتون به صورت خودکار آن را شناسایی می کند.
همانطور که در مثال فوق مشاهده می کنید می توانید در کلاس، فانکشن تعریف نماید.
شما لازم نیست برای فراخوانی پارامترها حتما از کلمه self استفاده کنید. اما اگر می خواهید نام دلخواه قرار دهید باید توجه داشته باشید آن نام باید حتما اولین پارامتر هر تابع از کلاس باشد مانند مثال زیر:
class Person: def __init__(mysillyobject, name, age): mysillyobject.name = name mysillyobject.age = age def myfunc(abc): print("Hello my name is " + abc.name) p1 = Person("John", 36) p1.myfunc()
در زبان برنامه نویسی پایتون آبجکت های بلااستفاده جهت آزادسازی منابع از حافظه پاک می شوند.
اگر بخواهید یک آبجکت را حذف کنید این عمل مانند کد زیر انجام می شود.
del p1
کلاس: مجموعه ای از آبجکت ها که ویژگی های یکسان دارند یک کلاس را می سازند.
به عبارت دیگر یک نمونه ی اختصاصی یا defined-user که اجازه ی ساخت آبجکت یا نمونه های متعدد از
یک الگو مشترک را می دهد.
هر کلاس واحدی مجزا از اپلیکیشن است که داده هایی را در قالب متغیرهای عضو که attribute نام داشته و عملیات که در قالب method تعریف می شود را دربرمی گیرد.
همان طور که گفته شد، attribute ها اعضایی از کلاس هستند که داده های را در خود نگه می دارند (variable class و variable instance) و متدها نیز رفتارهای کلاس بوده و عملیات خاصی را انجام می دهند.
جهت دسترسی به متدها و متغیرهای عضو کلاس کافی است از عملگر نقطه استفاده نمایید.
متغیرهای عضو کلاس: متغیری که بین تمامی نمونه های ایجاد شده از کلاس مشترک می باشد، متغیر عضو کلاس یا variable class خوانده می شود.
متغیرهای عضو داخل بدنه ی کلاس اما خارج از حوزه ی اختصاصی متدهای آن کلاس (scope) تعریف می شوند.
Class variable یا متغیرهای عضو کلاس نسبت به متغیرهای نمونه ی ایجاد شده از کالس یا همان variable instance بسیار کم تر مورد استفاده قرار می گیرد.
member Data : یک variable class یا variable instance که داده های مربوط به یک کلاس و آبجکت های ساخته شده از روی آن را دربرمی گیرد.
overloading function : تخصیص و تعریف چندین رفتار برای تابعی یکسان.
به عبارت دیگر، ایجاد چندین نسخه ی مختلف از تابعی با نام یکسان.
حال این عملیاتی که تابع انجام می دهد به نوع آبجکت ها یا آرگومان هایی که شرکت دارند، وابسته است.
variable instance : یک متغیر که داخل حوزه ی اختصاصی یا بدنه ی متد تعریف شده و تنها به نمونه ی جاری از کلاس تعلق دارد.
Inheritance یا وراثت: انتقال ویژگی های یک کلاس به کلاس هایی که از آن مشتق می شوند را در اصطالح Inheritance یا وراثت می گویند.
instance : به یک آبجکت واحد از کلاس در اصطالح Instance گفته می شود.
برای مثال، آبجکتی به نام obj که متعلق به کلاسی به نام Circle می باشد.
در واقع یک نمونه ساخته شده از کلاس Circle که الگویی برای ساخت آبجکت ها می باشد است.
Instantiation نمونه سازی از کلاس : به ساخت آبجکت یا نمونه ای از کلاس مورد نظر Instantiation گویند.
method : همان تابع که داخل بدنه یا حوزه ی اختصاصی کلاس اعالن می شود.
Object : عبارت است از یک نمونه ی یکتا که از روی کلاس مورد نظر ساخته می شود.
یک آبجکت می تواند عالوه بر member data ها متغیرهای عضو کلاس و متغیرهای عضو نمونه ی ایجاد شده از کلاس متد نیز دربرداشته باشد.
overloading Operator : تخصیص چندین رفتار به عملگری یکسان.
به عبارت دقیق تر، یک نمونه ی خاص از چندریختی است که عملگرها می توانند بر اساس آرگومان ها و پارامترهای ورودی پیاده سازی متفاوتی داشته باشد.
منبع » آکادمی ایتروز
زمپ یک ابزار قدرتمند برای توسعه وب است که به برنامهنویسان امکان ایجاد وبسایتهای پویا و تعاملی را میدهد.
معماری MVC یا Model-View-Controller یک الگوی طراحی است که برای توسعه نرم افزارهای وب استفاده می شود. این الگو از سه بخش اصلی
نحوه ایجاد تصویر با هوش مصنوعی (AI) در سالهای اخیر با کاربردهای مختلف از ماشینهای خودران گرفته تا دستیاران مجازی، به یک کلمه رایج تبدیل
یکی از رایج ترین و خسته کننده ترین مشکلاتی که کاربران وردپرس با آن مواجه می شوند، صفحه سفید مرگ (WSOD) یا White Screen of Death است.
نظرات (0)