نویسندگان، مهندسان روح بشریت هستند.
  • لازم به ذکر هست کلیه مطالب قرار داده شده در تالار ( اخبار و حقوق) و چه در مواردی که در تالار (دانلود نرم افزار های کامپیوتر) از دیگر منابع بوده و کاربران یک رمان جهت راحتی دیگر افراد موجود در انجمن اقدام به قرار دادن اخبار و نرم افزار نموده اند و اگر شما صاحب امتیاز این نرم افزار هستید کافی هست با ما تماس بگیرید

اموزش نرم افزار تاپیـک جـامع آموزش زبان برنامه نویسی جـاوا

  • نویسنده موضوع Amen SaĐr
  • تاریخ شروع
  • پاسخ‌ها 68
  • بازدیدها 153
  • کاربران تگ شده هیچ

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #61

آموزش کلمه کلیدی super در جاوا (به زبان ساده)​

کلمه کلیدی super در جاوا در زیر کلاس ها برای دسترسی به اعضای سوپر کلاس (ویژگی ها ، سازنده ها و متد ها) استفاده می شود. قبل از اینکه در موردکلمه کلیدی super بیاموزیم ، حتما در مورد وراثت در جاوا که در آموزش های قبلی توضیح دادیم، مطالعه کنید.

استفاده از کلمه کلیدی super​

۱- برای فراخوانی متد های سوپر کلاس که در زیر کلاس قرار دارد.

۲- برای دستیابی به ویژگی ها (فیلد ها) سوپر کلاس اگر هر دو سوپر کلاس و زیر کلاس دارای ویژگی هایی با همین نام باشند.

۳- برای فراخوانی سازنده ی سوپر کلاس بدون آرگومان (پیش فرض) یا سازنده پارامتری به جای سازنده زیر کلاس.

بیایید هر یک از این کاربردها را درک کنیم.

۱-...​

لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #62

۲- دسترسی به متد های سوپرکلاس​

سوپر کلاس و زیر کلاس می توانند متد های هم نام داشته باشند. ما از کلمه کلیدی super برای دسترسی به متد سوپر کلاس استفاده می کنیم.

مثال ۳ : به ویژگی سوپرکلاس دسترسی پیدا کنید

  1. class Animal {
  2. protected String type=”animal”;
  3. }
  4. class Dog extends Animal {
  5. public String type=”mammal”;
  6. public void printType() {
  7. System.out.println(“I am a ” + type);
  8. System.out.println(“I am an ” + super.type);
  9. }
  10. }
  11. class Main {
  12. public static void main(String[] args) {
  13. Dog dog1 = new Dog();
  14. dog1.printType();
  15. }
  16. }
هنگامی که برنامه را اجرا می کنیم ، خروجی برابر خواهد بود با...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #63

کلاس ها و متدهای abstract (انتزاعی) در جاوا​

کلاس abstract جاوا​

کلاس انتزاعی کلاسی است که نمی توان آن را معرفی کرد (نمی توانیم از کلاس انتزاعی شی ایجاد کنیم). در جاوا از کلمه کلیدی abstract برای تعریف کلاس انتزاعی استفاده می کنیم.

  1. abstract class Animal {
  2. //attributes and methods
  3. }
اگر سعی کنیم از کلاس انتزاعی شی ایجاد کنیم ، کامپایلر خطا می گیرد. مثلا :

  1. Animal a1 = new Animal()
که خطای کامپایلر ایجاد می کند:

Animal is abstract; cannot be instantiated
گرچه کلاس های انتزاعی را نمی توان تعریف کرد ، اما می توانیم از آن ها زیر کلاس و از زیر کلاس برای...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #64

Overriding (پیاده سازی مجدد متد های ارث برده شده ) متد های انتزاعی​

در جاوا ، Overriding متد های انتزاعی سوپرکلاس در زیر کلاس اجباری است. زیرا زیر کلاس متد های انتزاعی سوپر کلاس را به ارث می برد.

از آنجا که زیر کلاس شامل متد های انتزاعی است ، باید آنها را پیاده سازی مجدد کنیم.

توجه: اگر زیر کلاس نیز انتزاعی تعریف شد ، Overriding متد های انتزاعی اجباری نیست.

مثال ۲ : Overriding متد انتزاعی

  1. abstract class Animal {
  2. abstract void makeSound();
  3. public void eat() {
  4. System.out.println(“I can eat.”);
  5. }
  6. }
  7. class Dog extends Animal {
  8. public void makeSound() {
  9. System.out.println(“Bark bark”);
  10. }
  11. }
  12. class Main {...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #65

آموزش واسط (interface) در جاوا (به زبان کاملا ساده)​

در جاوا ، یک رابط مجموعه ای از خصوصیات را که سایر کلاس ها باید پیاده سازی کنند ، تعریف می کند. مثلا،

  1. interface Polygon {
  2. public void getArea();
  3. }
در اینجا ، Polygon یک رابط است. از کلید واژه interface برای تعریف واسط استفاده کرده ایم.

متد ()getArea خصوصیت تعیین شده در رابط Polygon است. کلیه کلاس هایی که از این رابط استفاده می کنند باید متد ()getArea را پیاده سازی کنند.

رابط می تواند شامل متد abstract و ثابت باشد. مثلا،

  1. interface Polygon {
  2. public static final String color = “blue”;

  3. public void getArea();
  4. }
در مثال بالا ،...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #66

متد های خصوصی و استاتیک در رابط​

با انتشار جاوا ۸ ، رابط ها اکنون می توانند شامل متد های استاتیک باشند.

مانند کلاس، می توانیم با استفاده از ارجاع به متد های استاتیک یک رابط دسترسی داشته باشیم. مثلا،

  1. Polygon.staticMethod();
همچنین رابط ها با انتشار جاوا ۹ از متد های خصوصی پشتیبانی می کنند. اکنون می توانید از متد های خصوصی و متد های استاتیک خصوصی در رابط ها استفاده کنید.

از آنجا که نمی توانید واسط ها را تعریف کنید ، از متد های خصوصی به عنوان متد های کمکی استفاده می شود که پشتیبانی از متد های دیگر رابط ها را فراهم می کند.

متد های پیش فرض در رابط ها​

با انتشار جاوا ۸ ، متد هایی با پیاده سازی (متد های پیش فرض) در...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #67

کلمه کلیدی extends در اینترفیس​

مانند کلاس ها ، رابط ها می توانند رابط های دیگر را توسعه دهند. کلمه کلیدی extends برای گسترش رابط ها استفاده می شود. مثلا،

  1. interface Line {
  2. //members of Line interface
  3. }
  4. interface Polygon extends Line {
  5. //members of Polygon interface and Line interface
  6. }
در مثال بالا ، رابط Polygon رابط Line را گسترش می دهد. حال اگر یک کلاس Polygon را پیاده سازی کند ، باید اجرای کلیه کلاس های انتزاعی Line و Polygon را فراهم کند.

توجه داشته باشید که یک رابط می تواند چندین رابط شبیه به یک کلاس که چندین رابط را اجرا می کند ، گسترش دهد. مثلا،

  1. interface A {
  2. }
  3. interface B {...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #68

کلاس های Nested (تو در تو) و Inner (داخلی) در جاوا​

در جاوا می توانید یک کلاس را در یک کلاس دیگر تعریف کنید. این کلاس به عنوان کلاس Nested شناخته می شود.

class OuterClass {
// …
class NestedClass {
// …
}
}
دو نوع کلاس Nested یا تو در تو می توانید در جاوا ایجاد کنید.

  • کلاس تو در تو غیر استاتیک (کلاس Inner )
  • کلاس تو در تو استاتیک
بیایید ابتدا به کلاس های تو در تو غیر استاتیک نگاه کنیم.

کلاس تو در تو غیر استاتیک​

کلاس تو در تو غیر استاتیک یک کلاس در کلاس دیگری است که در آن به اعضای کلاس محصور (کلاس بیرونی) دسترسی دارد. معمولا به عنوان کلاس درونی شناخته می شود.

کلاس داخلی در داخل کلاس بیرونی وجود دارد (برای...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

Amen SaĐr

کاربر انجمن
سطح
12
 
ارسالی‌ها
402
پسندها
4,064
امتیازها
21,773
مدال‌ها
11
  • نویسنده موضوع
  • #69

کلاس داخلی استاتیک​

در جاوا می توانید یک کلاس تو در تو تعریف کنید که استاتیک باشد. چنین کلاسی به کلاس تو در تو استاتیک معروف است.
برخلاف کلاس درونی ، کلاس تو در تو استاتیک نمی تواند به متغیرهای عضو کلاس بیرونی دسترسی پیدا کند زیرا کلاس تو در تو استاتیک نیاز به ایجاد نمونه ای از کلاس بیرونی ندارد. از این رو ، هیچ مرجعی از کلاس بیرونی با OuterClass.this وجود ندارد.
بنابراین ، می توانید نمونه ای از کلاس تو در تو استاتیک را مانند زیر ایجاد کنید:
OuterClass.InnerClass obj = new OuterClass.InnerClass();
مثال ۳ : کلاس داخلی استاتیک
  1. Public class MotherBoard {
  2. String model;
  3. public MotherBoard(String model) {
  4. this.model =...
لطفا برای مشاهده کامل مطالب در انجمن ثبت نام کنید.
 
امضا : Amen SaĐr
  • Like
واکنش‌ها[ی پسندها] جغد

کاربران در حال مشاهده موضوع (تعداد: 0, کاربر: 0, مهمان: 0)

عقب
بالا