Εξέταση Java μια άσκηση

Συζητήσεις για την Java

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
katerinaaa
Δημοσιεύσεις: 109
Εγγραφή: 28 Ιαν 2010 12:46

Εξέταση Java μια άσκηση

Δημοσίευση από katerinaaa » 08 Σεπ 2010 22:52

Γεια σας,
επειδή δίνω εξετάσεις την παρασκευή και προσπαθώ να καταλάβω ένα θέμα μήπως μπορείτε να με βοηθήσετε ?

Υπάρχουν τρεις κλάσεις,

Κώδικας: Επιλογή όλων

class Parent
{ 
    double value = 0; 

    public Parent()
    { 
        value = 1.0; 
        System.out.println("Parent value " +value);
    }
 

    public Parent(double value)
    { 
        System.out.println("Parent value " + value);
    } 


    public void setValue (double value)
    { 
        this.value -= value;
    }
} 

Κώδικας: Επιλογή όλων

class Child extends Parent
{ 
    String message; 


    public Child (String message)
    { 
        this.message = message; 
        System.out.println("Child "+message);
    } 

     public Child (double value)
    { 
            super(value); 
            this.value = value++; 
            System.out.println("Child value " +value);
     } 

     public void setMessage (String message)
     { 
           this.message = message;
    } 
    
    public void setValue1 (double value) 
    {
        this.value += value;
    } 

    public void setValue2 (double value) 
    {
        super.setValue (--value);
    }
} 



Κώδικας: Επιλογή όλων

public class RunParent
{ 


    public static void main(String args [])
    { 
        Parent P = new Parent();
        Child C1 = new Child(5.5); 
        Child C2 = new Child("Second Child"); 
        System.out.println (C1.value); 
        System.out.println (C2.value); 
        System.out.println (C1.message); 
        System.out.println (C2.message); 
        System.out.println (P.value); 
        C1.setMessage ("First Child"); 
        System.out.println (C1.message); 
        C2.setValue (7.5); 
        System.out.println (C2.value); 
        System.out.println (P.value); 
        C1.setValue1 (3); 
        System.out.println (C1.value); 
        C1.setValue2 (8.5); 
        System.out.println (C1.value);
    }
}
Η άσκηση ζητάει να εξηγήσουμε τις γραμμές της κλάσεις RunParent.

Απ'ότι έχω καταλάβει όταν δημιουργείται ένα αντικείμενο τύπου child τότε διαθέτει δυο μεταβλητές value μια του πατέρα και μια δική του.

Αυτό που δεν καταλαβαίνω είναι γιατί πχ στην πρόταση System.out.println (C1.value);
εκτυπώνεται 5.5 και όχι 6.5 ?

Επίσης το χάνω και στη τελευταία πρόταση

C1.setValue2 (8.5);

Β. Και ένα δεύτερο ερώτημα αναφέρει παίζει ρόλο που δεν υπάρχει δηλωμένη η μεταβλητή value στη κλαση child


Αν μπορεί κάποιος να βοηθήσει θα του είμαι υπόχρεη!
Ευχαριστώ πολύ

[/code]

Απάντηση

Επιστροφή στο “Java”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες