Java/კლასის შთამომავლობა
< Java
ჩვენს ზოოპარკში ძალიან ბევრი სახის ცხოველია. ჩვენ გვინდა მათი დაყოფა. რადგან ზოოლოგიის არაფერი გაგვეგება და ცხოველების ბილოგიურ კლასების შესახებ მხოლოდ ბუნდოვანი წარმოდგენა გვაქვს ჩვენ დავყოფთ ცხოველებს ორ კატეგორიად:
- ფრინველები, რომელთაც ვახასიათებთ ბუმბულების რაოდენობით
- ძუძუმწოვრები, რომლებსაც ვახასიათებთ სხეულის ნორმალური ტემპერატურით
ვიკიპედიაში არის სტატია:
მიუხედავად იმისა, რომ ორი სხვადასხვა სახეობაა, ჩვენ მასში მსგავსებასაც ვხედავთ. კერძოდ კი ყველას, გააჩნია სახელი. მსგავსი კლასი უკვე განსაზღვრული გვქვს. ამიტომ ახლა ორივე ზემოჩამოთვლის სახეობას აღვწერთ როგორც Animal-ის შთამომავლებს.
ფრინველები:
package zoo;
public class Bird extends Animal {
private int featherCount;
public Bird(String name) {
super(name);
}
public int getFeatherCount() {
return featherCount;
}
public void setFeatherCount(int featherCount) {
this.featherCount = featherCount;
}
}
ძუძუმწოვრები:
package zoo;
public class Mammal extends Animal {
private float normalTemperature;
public Mammal(String name) {
super(name);
}
public float getNormalTemperature() {
return normalTemperature;
}
public void setNormalTemperature(int normalTemperature) {
this.normalTemperature = normalTemperature;
}
}
ახლა შეგვიძლია ძირითადი მეთოდის გადაწერა:
package zoo;
public class Main {
public static void main(String[] args) {
Animal animal1 = new Bird("ინდაური");
Animal animal2 = new Mammal("ძაღლი");
Bird animal3 = new Bird("გედი");
animal3.setFeatherCount(100000);
System.out.println(animal1);
}
}