Δημοσιεύτηκε: 02 Ιαν 2012, 23:49
Κληρονομικότητα. Καλύτερα να σας πω ένα παράδειγμα.
έχουμε μια κλάση όπου προσομοιώνει ένα Ζωντανό οργανισμό
Όπως γνωρίζουμε ένα θυλαστικό είναι ζωντανο πλάσμα δηλαδή έχει τα γενικά χαρακτηριστικά του ζωντανού οργανισμού αλλά έχει πάποια έξτρα ιδιότητες και χαρακτηριστικά όπου το εκειδικεύουν η κάνουν και με διαφορετικό τρόπο κάποιες λετουργίες ενός αντικειμένου. Ενα θυλαστικό τρώει ένα άλλον ζωντανό οργανισμό και ναναπαράγεται με ένα άλλον θυλαστικό. Επίσεις έχει και φύλο.
Ο άνθρωπος δε είναι θυλαστικό αλλα έχει και κάποια έξτρα χαρακτηριστικά πχ. μπορεί και μιλάει.
Δηλαδή μια κλάση μπορεί να ειδικεύει μια άλλη κλάση προσθέτοντας γνωρίσματα και μεθόδους ή αλλάζοντας τις ήδη υπάρχουσες μεθόδους όπου έχει. Η κλάση όπου επεκτείνει μια κλάση ονομάζεται ΥΠΟΚΛΑΣΗ πχ το θυλαστικό είναι υποκλάση του ζωντανού πλάσματος. Ενώ μια κλάση όπου επεκτείνεται ονομάζεται ΥΠΕΡΚΛΑΣΗ πχ Ο ζωντανός οργανισμός είναι υπερκλάση του θυλαστικού ΚΑΙ του ανθρώπου. Όπως το Θυλαστικό είναι υπερκλάση του Ανθρώπου.
έχουμε μια κλάση όπου προσομοιώνει ένα Ζωντανό οργανισμό
- Κώδικας: Επιλογή όλων
public class LivingCreature
{
int numberOfCells;
boolean live=true;
int energy=0;
int age;
public LivingCreature(int cells)
{
numberofCels=cells;
age=0;
energy=4;
live=true;
}
LiningCrearute anaparagwgi()//Anaparagetai
{
return new LivingCreature();
}
void gaimEnegry(int energy)//trefetai
{
this.energy+=energy;
}
void die()
{
live=false;
}
Όπως γνωρίζουμε ένα θυλαστικό είναι ζωντανο πλάσμα δηλαδή έχει τα γενικά χαρακτηριστικά του ζωντανού οργανισμού αλλά έχει πάποια έξτρα ιδιότητες και χαρακτηριστικά όπου το εκειδικεύουν η κάνουν και με διαφορετικό τρόπο κάποιες λετουργίες ενός αντικειμένου. Ενα θυλαστικό τρώει ένα άλλον ζωντανό οργανισμό και ναναπαράγεται με ένα άλλον θυλαστικό. Επίσεις έχει και φύλο.
- Κώδικας: Επιλογή όλων
class Mamal extends LivingCreature
{
String sex;//Fyllo
Mamal()
{
super(100000);//Καλώ τον constructor της υπερκλάσης
}
Mamal anaparagwgi (Mamal other)//Anaparagetai
{
if(other.sex.equals("Female"))
{
new Mamal();
}
}
void gaimEnergy(LivingCreature other)//Trwei allo zwntano plasma
{
super.gaimEnergy(other.energy);//Kaloume thn me8odo opou klironomise
}
}
Ο άνθρωπος δε είναι θυλαστικό αλλα έχει και κάποια έξτρα χαρακτηριστικά πχ. μπορεί και μιλάει.
- Κώδικας: Επιλογή όλων
class Human extends Mamal
{
int numberOfHands=2;//exei 2 xeria
int numberOfEyes=2;//exei 2 matia
boolean hasSoul=true;//exei psixi
void talk()
{
System.out.println("Hello");
}
void die()
{
super.die();//Kaloume me8odo opou einai sto LivingCreature
hasSoul=false;//Whes a person dies doen not have a soul
}
}
Δηλαδή μια κλάση μπορεί να ειδικεύει μια άλλη κλάση προσθέτοντας γνωρίσματα και μεθόδους ή αλλάζοντας τις ήδη υπάρχουσες μεθόδους όπου έχει. Η κλάση όπου επεκτείνει μια κλάση ονομάζεται ΥΠΟΚΛΑΣΗ πχ το θυλαστικό είναι υποκλάση του ζωντανού πλάσματος. Ενώ μια κλάση όπου επεκτείνεται ονομάζεται ΥΠΕΡΚΛΑΣΗ πχ Ο ζωντανός οργανισμός είναι υπερκλάση του θυλαστικού ΚΑΙ του ανθρώπου. Όπως το Θυλαστικό είναι υπερκλάση του Ανθρώπου.