ممکن است شما بخواهید کلاسی تعریف کنید که فقط و فقط از این کلاس جهت ارث بردن استفاده کنید و هیچ منظور دیگری از تعریف این کلاس نداشته باشید در این گونه مواقع می توانید کلاس رو به صورت abstract تعریف نمایید کلاس های های abstract فقط و فقط برای ارث بردن و همچنین تقویت مبحث کپسوله سازی تعریف می شوند از کلاس های abstract نمی توان شی ای ساخت و یا ازشون اجرایی گرفت کلاس های abstract تمام ویژگی های یه کلاس عادی رو به جز ایجاد شی از کلاس رو دارند و برای کپسوله سازی که قبلا در بخش متدها این مبحث رو توضیح دادیم بهترین گزینه هستن
در مورد مبحث کپسوله سازی نیز عرض کنم که این مبحث رو در قسمت آموزش متد ها که حتما مطالعه کرده اید کامل توضیح دادم که بهترین موقعیت برای استفاده از کپسوله سازی در کلاس های abstract هست
خوب رابط ها یا interface بسیار شبیه به کلاس هایی با تعریف abstract هستن ولی این اشتباه رو نکنید رابط ها کلاس نیستند چرا که ما در کلاس ضمن اینکه اجزای کلاس مثل متدها و اجزای دیگر و تعریف می کنیم پیاده سازی اجزا رو هم انجام میدیم ولی در رابط ها فقط اجزا رو تعریف می کنیم به صورت استاتیک و فینال یا ثابت همون
رابط ها جهت ارث بردن ازشون ایجاد می شوند در حقیقت رابط ها خودشون abstract هستند به طور پیش فرض ینی فقط برای ارث بردن ازشون ایجاد می شوند هر کلاس می تواند فقط از یک کلاس ارث برید داشته باشد در صورتی که هر کلاس می تواند از چندین رابط ارث ببرد همچنین رابط ها هم می تواندد از همدیگر ارث بری داشته باشند
همانطور که قبلا گفتیم رابط ها هم می توانند از یکدیگر ارث ببرند که برای ارث بری از همدیگر مثل کلاس ها از کلمه کلیدی extends استفاده می کنند
سلام خدمت همه ی علاقه مندان به پایتون.
خوب اگر این آموزشها رو دنبال کرده باشین و قدری هم از قبل با پایتون آشنایی داشته باشین، قطعا میدونید که هنوز خیلی چیزارو یاد نگرفتید، مثل حلقه ی for یا دیکشنری ها یا دکوراتور ها و ... .
اما صبور باشین، پایتون یک زبان شئ گراست و شئ گرایی در پایتون قدرت خودش رو در کلاس ها نشون میده.
بعد از معرفی کلاس ها بقیه ی مطالب رو در کلاس ها یاد میگیریم که بیشتر از کلاس ها مثال زده باشیم.
خوب اگر این آموزشها رو دنبال کرده باشین و قدری هم از قبل با پایتون آشنایی داشته باشین، قطعا میدونید که هنوز خیلی چیزارو یاد نگرفتید، مثل حلقه ی for یا دیکشنری ها یا دکوراتور ها و ... .
اما صبور باشین، پایتون یک زبان شئ گراست و شئ گرایی در پایتون قدرت خودش رو در کلاس ها نشون میده.
بعد از معرفی کلاس ها بقیه ی مطالب رو در کلاس ها یاد میگیریم که بیشتر از کلاس ها مثال زده باشیم.
وبسایت پایتون پیشنهاد میده نام توابع در پایتون با حروف کوچک لاتین شروع بشن، و اگر تابع شما چند کلمه ای بود، هر کلمه با علامت _ از کلمه ی بعد جدا بشه.
برای مثال:
function()
simple_function()
برای مثال:
function()
simple_function()
کلاس ها هم مثل توابع بعد از اسمشون بدون فاصله، پرانتز باز و بسته دارن، و همچنین پیشنهاد میشه اسم کلاس ها با حروف بزرگ لاتین شروع بشه و اگر اسم کلاس شما چند کلمه ای بود، هر کلمه اولین حرفش از حروف بزرگ لاتین باشه و بدون علامت _
مثل:
Worker()
SimpleWorker()
مثل:
Worker()
SimpleWorker()
تابع رو که یاد گرفتیم (البته 80% )
خوب هر کلاس در واقع مجموعه ای از توابع هستش که هر کدوم وظیفه ی خاصی دارن و همشون به همدیگه برای رسیدن به یک هدف مشترک تلاش میکنن.
خوب هر کلاس در واقع مجموعه ای از توابع هستش که هر کدوم وظیفه ی خاصی دارن و همشون به همدیگه برای رسیدن به یک هدف مشترک تلاش میکنن.
البته برای شروع یادگیری ما داخل کلاسمون از تابع استفاده نمیکنیم، ولی بعدا دیگه فقط از توابع استفاده میکنیم.
با کلمه ی کلیدی class شما میتونید یک کلاس در پایتون ایجاد کنید.
به این صورت که بعد از این کلمه ی کلیدی یک فاصله میذارید و بعد نام کلاستون رو میذارید و بعد دونقطه، سپس به خط بعد میرید و همچنین تو رفتگی رو رعایت میکنید و بدنه ی کلاس رو مینویسید.
برای مثال:
class MyClassName:
# class body
با کلمه ی کلیدی class شما میتونید یک کلاس در پایتون ایجاد کنید.
به این صورت که بعد از این کلمه ی کلیدی یک فاصله میذارید و بعد نام کلاستون رو میذارید و بعد دونقطه، سپس به خط بعد میرید و همچنین تو رفتگی رو رعایت میکنید و بدنه ی کلاس رو مینویسید.
برای مثال:
class MyClassName:
# class body
شئ سازی:
زمانی که شما نام کلاس رو همراه با پرانتز هاش وارد میکنید، از اون کلاس یک شئ ساختید، شئ که میسازید تمام خصوصیاتی که در اون کلاس تعریف کردید رو به همراه داره:
👇👇👇👇👇
زمانی که شما نام کلاس رو همراه با پرانتز هاش وارد میکنید، از اون کلاس یک شئ ساختید، شئ که میسازید تمام خصوصیاتی که در اون کلاس تعریف کردید رو به همراه داره:
👇👇👇👇👇