بازگشت به دوره
دوره مقدماتی جاوا
0% تکمیلشده
0/0 مرحله
نصب ابزار
آشنایی با پکیج منیجر Chocolatey-
ابزار مدیریت پروژه Maven
-
جاوا چطور کار میکنه؟
-
دانلود و نصب JDK 8
-
معرفی محیط های توسعه جاوا
-
نصب IntelliJ IDEA Community
-
ساخت و اجرای اولین پروژه جاوا
- مفاهیم و اصول برنامهنویسی شیء گراساختار کد در جاوا
-
گفتگوی JVM و compiler، کی مهمتره؟!
-
نوشتن برنامه به کمک تست (TDD)
-
سفری به دنیای شیء گرایی
-
تفاوت بین کلاس و شیء
-
روش Given-When-Then برای نوشتن تست
-
بازی حدس اعداد (Guessing Game)
-
مدیریت حافظه در جاوا: Garbage Collection
-
وراثت (Inheritance)
-
پلیمورفیسم (Polymorphism)
-
متغیرهای خود را بشناسید
-
How Objects Behave
-
Extra-Strength Methods
-
Using the Java Library
-
Better Living in Objectville
-
Serious Polymorphism
-
Life and Death of an Object
-
Numbers Matter
-
Data Structures
-
Lambdas and Streams: What, Not How
-
Risky Behavior
-
A Very Graphic Story
-
Work on Your Swing
-
Saving Objects (and Text)
-
Make a Connection
-
Dealing with Concurrency Issues
پلیمورفیسم (Polymorphism)
چندریختی یعنی این که یک متد میتونه در کلاسهای مختلف Subclasses، رفتارهای متفاوتی از Superclass داشته باشه ، بدون اینکه نیاز باشه کد جدیدی بنویسیم. برای این کار، از Override کردن متدها استفاده میکنیم.
بیاید با یک مثال ساده شروع کنیم تا مفهوم چندریختی رو بهتر درک کنیم. فرض کن در مثال قبلی حیوانات، سگ متدی که از والد خودش یعنی کلاس Animal به ارث برده را به شکل دیگری اجرا کنه مثلا در متد eat به جای پرینت جمله ” غذا خوردن ” جمله ” آب نوشیدن ” را میخواد پرینت کنه.
برای اینکار باید:
public class Dog extends Animal {
@Override
void eat() {
System.out.println("آب نوشیدن");
}
}
در این حالت اگر در متد اصلی متد eat مربوط به object ساخته شده از کلاس Dog را فراخونی کنیم بجای عبارت ” غذا خوردن” عبارت ” آب نوشیدن ” را نشان میدهد.
public static void main(String[] args) {
Dog dog = new Dog();
dog.eat(); // خروجی: آب نوشیدن
}