Learn Java
304 subscribers
92 photos
1 video
94 files
84 links
یاد گیری زبان برنامه نویسی جاوا و نکات و مفاهیم
کاربردی ان



@parsa8113
@bardiademon
Download Telegram
متد های مسند

یکی دیگر از کاربردهای رایج در استفاده از متد های accsessor (متد های get به متد های accessor یا query معروف هستند)تست برقرار بودن یا نبودن یک شرط است- غالبا به این متد ها , متد های مسند یا predicate میگویند.مثالی از یک متد مسند میتواند متد isEmpty برای یک کلاس حامل باشد- کلاسی با قابلیت نگهداری تعدادی شی همانند یک لیست پیوندی,پشته یا صف. برنامه میتواند قبل از اقدام به خواندن ایتم دیگری از یک شی حامل از متد isEmpty استفاده کند. همچنین برنامه میتواند از متد isFull نیز استفاده کند, قبل ازینکه اقدامی در جهت افزودن یک ایتم دیگر به یک شی حامل داشته باشد.

@this_java
ترکیب

یک کلاس میتواند مراجعه هایی به شی های کلاس های دیگر بعنوان اعضا داشته باشد. به چنین قابلیتی ترکیب گفته میشود و گاها از ان بعنوان یک رابطه has-a یاد میشود.

@this_java
لیندا _ آموزش الگوهای طراحی جاوا: خلاقانه (با زیرنویس)
لیندا _ آموزش رمزنگاری جاوا (با زیرنویس)
لیندا _ آموزش JUnit 5 برای جاوا (با زیرنویس)
اعضای کلاس استاتیک

هر شی از یک کلاس دارای کپی از تمام متغیر های نمونه متعلق به کلاس خود است. با این همه , در موارد مشخص, تمام شی های کلاس میتوانند کپی از یک متغیر خاص را به اشتراک در اورند . یک فیلد استاتیک , که متغیر کلاس نامیده میشود , چنین متغیری است, یک برنامه فقط حاوی یک کپی از این متغیر در حافظه است, تعداد شی های نمونه سازی شده از کلاس اهمیت ندارند و بر تعداد کپی های این متغیر در حافظه تاثیری نمیگذارند. یک متغیر استاتیک نشان دهنده ی اطلاعات و شی در مورد کلاس است. تمام شی های کلاس اطلاعات یکسانی را به اشتراک میگذارند. اعلان یک متغیر استاتیک با کلمه کلیدی static اغاز میشود.

برای توضیح اینکه چرا به کلاس استاتیکی نیاز است(کلاسی که دارای فیلد یا متد استاتیک باشد) , به بررسی یک بازی ویدیویی میپردازیم. فرض کنید که در این بازی , سفینه های مریخی که با کلاس Martian مشخص شده اند , مورد حمله سفینه های دیگر قرا گرفته اند. هر سفینه مریخی قادر به درگیری با سفینه های دشمن است به شرطی که هر سفینه مطمعن باشد حداقل چهار سفینه ی خودی در صحنه هستند. اگر مجموع Martian ها کمتر از پنج باشد, انگاه سفینه پا به فرار خواهد گذاشت.به همین دلیل هر سفیه باید از تعداد سفینه ها (martianCount) مطلع باشد . میتوانیم martianCount را به عنوان یک متغیر نمونه به هر کلاس Martian اعطا کنیم (متغیر نمونه یعنی متغیری که وابسته به نمونه های یا شی های ساخته شده از کلاس است). اگر چنین کاری انجام دهیم هر Martian یک نسخه (کپی ) جداگانه از داده نمونه خواهد داشت و هربار که یک Martian ایجاد میکنیم باید متغیر نمونه martianCount را در هر Martian بروز کنیم..کپی های اضافی موجب تلف شدن حافظه میشوند و به روز کردن این تعداد کپی , زمان زیادی مطلبد. بجای اینکار متغیر martianCount را بصورت استاتیک اعلان میکنیم, از اینرو این متغیر یک داده سراسری در کلاس خواهد بود. هر سفینه میتواند مقدار این متغیر را مشاهده کند , اما برنامه فقط یک کپی از این متغیر استاتیک را به منظور حفظ فضا در خود نگهداری میکند. در کنار اینکار در زمان هم صرفه جویی میشود چرا که سازنده martian فقط مقدار متغیر استاتیکی را افزایش میدهد

@this_java
آیا ++a و a++ در جاوا با یکدیگر تفاوت دارند؟

اگر عملگر ++ بعد از متغییر بیاید، یک واحد اضافه شدن پس از اتمام عملیات مقداردهی انجام می شود (یعنی محاسبات بر اساس مقدار قبلی انجام می شود):

int a = 1;
int b = a++;// b=1
int c = a; // c=2

اما اگر عملگر ++ قبل از متغییر بیاید، ابتدا یک واحد به متغییر اضافه می شود و سپس محاسبات انجام می شود:

int a = 1;
int b = ++a;// b=2
int c = a; // c=2
@this_java
تفاوت مابین field وProperty در چیست؟

Field: یک متغیر خصوصی در یک کلاس است ...که اغلب برای استفاده ی داخلی کلاس در نظر گرفته شده است

Property:متغیر های خصوصی که دارای ستر و گتر هستند و برای دستکاری از بیرون کلاس نیز درنظر گرفته شده اند

@this_java
یافتن یک کاراکتر مشخص از یک رشته

متد indexOf و lastIndexOf مکان کاراکتر مربوطه در رشته را برگشت میدهند ... همانطور که میدانید اولین عضو رشته در صفرمین خانه قرار میگیرد...برای بدست اوردن یک کاراکتر با داشتن مکان مربوط به ان (درواقع برعکس متد lastindexof)
باید از متدی به نام charAt در کلاس String بهره ببریم :

String this_java= "this_java";
char c = this_java.charAt(0);
System.out.println(c);

خروجی;
t

برای اطلاع از چگونگی نحوه ی کارکرد indexOf و lastIndexOf پست زیر را در کانال مطالعه کنید:
https://t.me/this_java/610

@this_java
Hospital.zip
67 KB
سورس کد برنامه ی مدیریت بیمارستان با استفاده از فریمورک محبوب hibernate و دیتابیس Postgresql

@this_java
spring book.pdf
2 MB
کتاب فارسی اموزش Spring از سایت تحلیل داده
@this_java