دسترسی نوع private : سطح دسترسی خصوصی که با کلمه کلیدی private در ابتدای تعریف فیلد ها و متد ها مشخص میشه. این سطح دسترسی به این معنیه که فقط از داخل همین کلاس می شه به این فیلد ها و متد ها دسترسی پیدا کرد.
دسترسی نوع protected : کاملا شبیه به private با این تفاوت که اگر یک متد private باشه ، حتی کلاس هایی که از این کلاس مشتق شدن ( به ارث بردن) به متد خصوصی دسترسی ندارند اما به متد حفاظت شده (protected) دسترسی دارند، به علاوه ، تمام کلاس های دیگه ای که توی همین پکیج باشن ، به اعضای حفاظت شده دسترسی دارند
دسترسی نوع package : این سطح دسترسی ، با نگذاشتن هیچ یک از کلمات کلیدی بالا در ابتدای تعریف کلاس ها ، متد ها و متغیر ها مشخص می شه. همون طور که از نامش پیداست (حفاظت شده در پکیج) تمام کلاس هایی که با این کلاس توی یک پکیج قرار دارند، به این متد ، فیلد یا کلاس دسترسی دارند.
🚩نکته : به تعریف یه نوع داده ای داخل یک کلاس با حق دسترسی private فیلد گفته می شود
و اما ما می توانیم این متد ها رو به صورت استاتیک هم تعریف کنیم ینی با اضافه کردن کلمه کلیدی static متد رو به صورت استاتیک تعریف کنیم متدهایی که به صورت استاتیک داخل یک کلاس تعریف می شوند مستقیم قابل فراخوانی هستن ینی برای فراخوانی نیازی به تعریف شی از تعرف کلاس ندارند در صورتی که نمی توانیم متدهای غیر استاتیک رو به صورت مستقیم فراخوانی کنیم و اول نیاز به فراخوانی کلاس مربوطش داریم تا به متدهاش دسترسی داشته باشیم
همچنین ما در تعریف متدها مانند متغیرها می توانیم از کلمه کلیدی final استفاده کنیم برای تبدیل متد به متدی که قابل تغییر نباشد و نتوان تغییری در متد ایجاد کرد
اما ما می توانیم متدهای دیگر رو داخل یک متد دیگر فراخوانی بکنیم و با استفاده از توابع یا متدهای بازگشتی این مبحث رو با الگوریتمی اصولی جلو ببریم به نمونه مثال زیر دقت کنید
کپسوله سازی در متد ها : اگر ما متد و یا فیلدی در کلاسی از نوع حق دسترسی private تعریف کرده باشیم فقط می توانیم داخل همون کلاس به اون دسترسی داشته باشیم مگر آنکه از کپسوله سازی استفاده کنیم و برای این کار ما اون متدی رو که با حق دسترسی خصوصی تعریف کردیم باید داخل یه متدی از نوع حق دسترسی عمومی public فراخوانی کنیم به این فرآیند کپسوله سازی می گویند
در مثال بالا ما یک فیلد با دسترسی private تعریف کردیم و با فراخوانی اون داخل یه متد public در حقیقت اون رو کپسوله سازی یا به اصطلاح encapsulation کردیم
متد های overloading : در حقیقت اگر ما داخل یه کلاس بیاییم چند متد با نام های یکسان ولی با ورودی های مختلف تعریف کنیم به این فرآیند اورلود کردن می گویند یادمان باشد در مبحث اورلود فقط نام متدها یکی هست و حتما باید ورودی های متدها متفاوت باشد در غیر این صورت کامپایلر خطا خواهد گرفت چون کامپایلر از نوع و تعداد ورودی ها متدها رو از هم تشخیص می دهد
در تصویر بالا می بینید که سه تا متد هم نام با ورودی های مختلف تعریف شده و نتیجه متدها رو هم نمایش داده ایم به این فرآیند اورلودینگ گفته می شود
> > > آموزش زبان برنامه نویسی پایتون از 0 تا 100
> > > قسمت دهم
سلام خدمت همه ی علاقه مندان به پایتون.
در 3 جلسه ی قبل با ساختار حلقه ی while در پایتون آشنا شدیم و اگر به مثال ها توجه کرده باشید و خودتون هم تمرین کرده باشید، الان کاملا حلقه ی while رو بلدید.
طبق معمول همیشه باز هم تاکید میکنم که تا یک قسمت از آموزش رو نفهمیدید سراغ قسمت بعدی نرید، چون مطمئنا تو قسمت های بعد از قسمت های قبل هم در مثال ها استفاده میشه !
در این قسمت علاوه بر معرفی چند تابع توکار دیگه، با ساختار داده ای "لیست" در پایتون آشنا میشید.
> > > قسمت دهم
سلام خدمت همه ی علاقه مندان به پایتون.
در 3 جلسه ی قبل با ساختار حلقه ی while در پایتون آشنا شدیم و اگر به مثال ها توجه کرده باشید و خودتون هم تمرین کرده باشید، الان کاملا حلقه ی while رو بلدید.
طبق معمول همیشه باز هم تاکید میکنم که تا یک قسمت از آموزش رو نفهمیدید سراغ قسمت بعدی نرید، چون مطمئنا تو قسمت های بعد از قسمت های قبل هم در مثال ها استفاده میشه !
در این قسمت علاوه بر معرفی چند تابع توکار دیگه، با ساختار داده ای "لیست" در پایتون آشنا میشید.
وقتی شما مفسر پایتون رو باز میکنید، یک سری توابع و کلاس های از قبل تعریف شده رو همراه خودش داره، مثل ()print ، که ما به اصطلاح بهشون میگیم توابع یا کلاس های پیش ساخته .
در قسمت های آینده بهتون یاد میدم که توابع و کلاس های دلخواه خودتون رو چطور بسازید، فعلا همین قدر بدونید که تابع و کلاس بعد از اسم خودش (بدون فاصله) پرانتز باز و بسته داره، اگر کلاس یا تابع طوری ساخته شده باشه که نیاز به ورودی داشته باشه، باید ورودی یا ورودی هاشو توی پرانتزش بهش بدیم.( مثل ("print("salam که ورودی رشته "salam" رو میگیره و در نمایشگر نشون میده)
در قسمت های آینده بهتون یاد میدم که توابع و کلاس های دلخواه خودتون رو چطور بسازید، فعلا همین قدر بدونید که تابع و کلاس بعد از اسم خودش (بدون فاصله) پرانتز باز و بسته داره، اگر کلاس یا تابع طوری ساخته شده باشه که نیاز به ورودی داشته باشه، باید ورودی یا ورودی هاشو توی پرانتزش بهش بدیم.( مثل ("print("salam که ورودی رشته "salam" رو میگیره و در نمایشگر نشون میده)