java:polymorphism
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| java:polymorphism [2018/02/09 15:24] – [Στατικός Πολυμορφισμός] gthanos | java:polymorphism [2020/03/27 13:18] (current) – [Δυναμικός Πολυμορφισμός] gthanos | ||
|---|---|---|---|
| Line 32: | Line 32: | ||
| Ας υποθέσουμε δύο κλάσεις που η μία κληρονομεί από την άλλη και οι δύο έχουν δύο διακριτές μεθόδους με το ίδιο όνομα και τις ίδιες τυπικές παραμέτρους, | Ας υποθέσουμε δύο κλάσεις που η μία κληρονομεί από την άλλη και οι δύο έχουν δύο διακριτές μεθόδους με το ίδιο όνομα και τις ίδιες τυπικές παραμέτρους, | ||
| - | <code java TestDog.java> | + | <code java Polymorphism.java> |
| - | class Animal { | + | class Animal { |
| - | | + | |
| - | System.out.println(" | + | |
| - | | + | System.out.println(" |
| + | } | ||
| } | } | ||
| class Mammal extends Animal { | class Mammal extends Animal { | ||
| - | | + | int numberOfBabies; |
| - | System.out.println(" | + | |
| - | | + | public Mammal(int babies) { |
| + | numberOfBabies = babies; | ||
| + | } | ||
| + | |||
| + | public int getBabies() { | ||
| + | return numberOfBabies; | ||
| + | } | ||
| + | |||
| + | | ||
| + | System.out.println(" | ||
| + | } | ||
| } | } | ||
| class Dog extends Mammal { | class Dog extends Mammal { | ||
| - | + | | |
| - | public void signature() { | + | |
| - | System.out.println(" | + | public Dog(int babies, String name) { |
| - | | + | super(babies); |
| + | this.name = name; | ||
| + | } | ||
| + | |||
| + | public String getName() { | ||
| + | return name; | ||
| + | } | ||
| + | |||
| + | | ||
| + | System.out.println(" | ||
| + | } | ||
| } | } | ||
| - | public class TestDog | + | public class Polymorphism |
| - | public static void main(String args[]) { | + | |
| - | Animal | + | Animal |
| - | Animal | + | Animal |
| - | Animal | + | Animal |
| - | a.signature(); | + | animal.signature(); |
| - | b.signature(); | + | |
| - | c.signature(); | + | dog.signature(); |
| - | | + | |
| + | // | ||
| + | // | ||
| + | | ||
| } | } | ||
| </ | </ | ||
| Line 70: | Line 94: | ||
| Στο παραπάνω παράδειγμα, | Στο παραπάνω παράδειγμα, | ||
| - | |Προηγούμενο: | + | |Προηγούμενο: |
java/polymorphism.1518189883.txt.gz · Last modified: 2018/02/09 15:24 (external edit)
