پاورپوینت چندریختی (pptx) 22 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 22 اسلاید
قسمتی از متن PowerPoint (.pptx) :
بنام خدا
چندریختی
عناوین
3
Binding (early and late)
Upcasting and downcasting
Extensibility
The final modifier with
methods
classes
4
چندریختی
مکانیسمهای برنامه نویسی شی گرا:
محصورسازی
ارث بری
چندریختی
چندریختی
توانایی تخصیص چندین معنی به یک اسم متد
توسط دو مکانیسم به اسامی تقید زودهنگام و تقید دیرهنگام انجام می شود.
سلسه مراتب حیوانات
5
Animal
Dog
Cat
Pig
حیوانات سخنگو
6
public class Animal
{
public void speak( int x ){ System.out.println(“ Animal “ + x );}
}
public class Dog extends Animal
{
public void speak (int x )
{ System.out.println( “Dog “ + x ); }
}
public class Cat extends Animal
{public void speak (int x )
{ System.out.println( “Cat “ + x ); }
}
public class Pig extends Animal
{public void speak (int x )
{ System.out.println( “Pig “ + x ); }
}
کلاس ZooDemo
7
در این کلاس، از حیوانات می خواهیم که به بازدید کنندگان سلام کنند.
public class ZooDemo
{
// Overloaded type-specific sayHello method
// for each kind of Animal
public static void sayHello( Dog d, int i ) { d.speak( i ); }
public static void sayHello( Cat c, int i ) { c.speak( i ); }
public static void sayHello( Pig p, int i) { p.speak( i ); }
(continued)
کلاس ZooDemo
8
public static void main( String[ ] args ){
Dog dusty = new Dog( );
Cat fluffy = new Cat( );
Pig sam = new Pig( );
sayHello( dusty, 7 );
sayHello( fluffy, 17 );
sayHello( sam, 27 );
}
} // end Zoo Demo
//------- output -----
Dog 7
Cat 17
Pig 27
مشکلات ZooDemo ؟
9
کلاس ZooDemo برای هر حیوان یک نسخه ی اختصاصی از sayHello دارد.
اگر حیوانات جدیدی اضافه شود چه؟
بهتر نیست که یک متد sayHello بنویسیم که برای همه حیوانات کار کند.