Ондоошил гэдэг нь зөвхөн удамшлийн үед гардаг ойлголт юм. Тухайлбал А классаас Б, В гэсэн хоёр янзын класс тус тус удамшуулан гарган авсан байг. Тэгвэл А классын хувьсагч болгон зарлаад Б-ын байгуулагч, эсвэл В-ын байгуулагч функцээр обьектыг нь санах ойд үүсгэж болдог тухай ойлголт юм.
class Fruit {
public String color;
public Fruit(String name) {
this.color = color;
System.out.println("I am a fruit.");
}
public void doJuice() {
System.out.println("Fruit Juice. Enjoy IT!");
}
}
class Apple extends Fruit {
public Apple(String color) {
super(color);
System.out.println("I am an apple.");
}
public void doJuice() {
System.out.println("Apple Juice. Enjoy IT!");
}
}
class Orange extends Fruit {
public Apple(String color) {
super(color);
System.out.println("I am an orange.");
}
public void doJuice() {
System.out.println("Orange Juice. Enjoy IT!");
}
}
public class FruitDemo {
public static void main(String args[]) {
Fruit fruits[] = new Fruit[2];
fruits[0] = new Apple("Red");
fruits[0].doJuice();
fruits[1] = new Orange("Yellow");
fruits[1].doJuice();
Apple apple = (Apple) fruits[0];
apple.doJuice();
}
}
Дээрх жишээнээс харахад эцэг класс нэгтэй олон төрлийн subclass-ууд хоорондоо чөлөөтэй төрөл хувирч, ондооширч болж байна. Жава хэлний энэ шинж чанарыг маш өргөн ашиглаж олон төрлийн гайхалтай програмуудыг зохиосон байдаг.
public Fruit(String name) {
ReplyDeletethis.color = color;
System.out.println("I am a fruit.");
}
Энийгээ засч бичээрэй. Алдчихаж. Уул нь биччихээд нэг хянаж байвал зүгээр юм даа. No offence.
Ok
ReplyDeleteclass Orange extends Fruit {
public Apple(String color) {
super(color);
System.out.println("I am an orange.");
}
Apple-г Orange болгочоорой