Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Αρχικα καλησπερα στην ομαδα..

 

Eχω μια ασκηση που λεει οτι:  Υπαρχει ενα υποσύστημα το οποιο ειναι μερος ενος γενικου διαχειριστή Βιβλιοθήκης, που ασχολειται με την αναζήτησης βιβλιογραφίας. Το υποσύστημα αναζήτησης βιβλιογραφίας πρέπει να παρέχει μια διεπαφή στον έξω κόσμο. Η οποία λαμβάνει μια σειρά απο keywords, ημερομηνία δημοσίευσης ή και ISBN και επιστρέφει τα σχετικά βιβλία που ειναι διαθεσιμα. 

 

Καθορίστε τέσσερις πιθανές  κλήσης διεπαφων σε Java.

 

Θα μπορουσε καποιος να δωσει καμια ιδεα. Η και γενικοτερα τι τρεχει με τις διεπαφες στη java?

 

Ευχαριστώ εκ των προτέρων

 

 

Δημοσ.

Τα interface στη Java είναι διεπαφές που μπορεί να έχει ένα αντικείμενο για κάτι. Πχ, τελείως υποθετικά, αν θες ένα αντικείμενο να είναι εκτυπώσιμο, το κάνεις να υλοποιεί την διεπαφή 'Printable' ή κάτι παρόμοιο. Έτσι, όταν μια ανώτερη μέθοδος θελήσει να εκτυπώσει όλα τα Printable αντικείμενα της, αυτό γίνεται πολύ εύκολα.

Δημοσ.

Αρχικα ευχαριστω για το σχολιο.

 

οκ αυτο που λες...Αν για παραδειγμα μια μεθοδος υλοποιει μια διεπαφη υπαρχουν διαφορετικη τροποι να γινει αυτο?

η εχει να κανει με την συνταξη της μεθοδου?

 

γιατι η ασκηση μου ζηταει τέσσερις πιθανές κλήσης διεπαφων..

Δημοσ.

Καταρχάς είσαι σίγουρος ότι ως διεπαφή εννοεί το Java Interface και όχι UI (πχ Swing?)

Δημοσ.
public interface IBookSearch {
    public Book Book(String[] keywords);
    public Book Book(Date publicationDate);
    public Book Book(String ISBN);
    public Book Book(String[] keywords, Date publicationDate, String ISBN);
}

Κάτι τέτοιο περίπου;

Δημοσ.

Αν για παραδειγμα μια μεθοδος υλοποιει μια διεπαφη υπαρχουν διαφορετικη τροποι να γινει αυτο?

η εχει να κανει με την συνταξη της μεθοδου?

 

Ένα interface παρέχει τα ονόματα των μεθόδων και μια κλάση πρέπει να τις υλοποιήσει:

public interface Bicycle {
    // wheel revolutions per minute
    public void changeCadence(int newValue);

    public void changeGear(int newValue);

    public void speedUp(int increment);

    public void applyBrakes(int decrement);
}
 
public class ACMEBicycle implements Bicycle {
    .......
 
    public void changeCadence(int newValue) {
        .......
    }

    public void changeGear(int newValue) {
        .......
    }

    public void speedUp(int increment) {
        .......
    }

    public void applyBrakes(int decrement) {
        .......
    }
}

Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει.

Δημοσ.
public interface IBookSearch {
    public Book Book(String[] keywords);
    public Book Book(Date publicationDate);
    public Book Book(String ISBN);
    public Book Book(String[] keywords, Date publicationDate, String ISBN);
}

Κάτι τέτοιο περίπου;

 

ναι ναι.....κατι τετοιο  :D  :D   :D  

αυτο θα εννοει με τις  τέσσερις πιθανές κλήσης της διεπαφης.....ευχαριστω

Δημοσ.

Ένα interface παρέχει τα ονόματα των μεθόδων και μια κλάση πρέπει να τις υλοποιήσει:

public interface Bicycle {
    // wheel revolutions per minute
    public void changeCadence(int newValue);

    public void changeGear(int newValue);

    public void speedUp(int increment);

    public void applyBrakes(int decrement);
}
 
public class ACMEBicycle implements Bicycle {
    .......
 
    public void changeCadence(int newValue) {
        .......
    }

    public void changeGear(int newValue) {
        .......
    }

    public void speedUp(int increment) {
        .......
    }

    public void applyBrakes(int decrement) {
        .......
    }
}

Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει.

μαλιστα.....αυτο βοηθησε παρα πολυ  :)  "Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει."

τελειο ευχαριστω... :) 

Ένα interface παρέχει τα ονόματα των μεθόδων και μια κλάση πρέπει να τις υλοποιήσει:

public interface Bicycle {
    // wheel revolutions per minute
    public void changeCadence(int newValue);

    public void changeGear(int newValue);

    public void speedUp(int increment);

    public void applyBrakes(int decrement);
}
 
public class ACMEBicycle implements Bicycle {
    .......
 
    public void changeCadence(int newValue) {
        .......
    }

    public void changeGear(int newValue) {
        .......
    }

    public void speedUp(int increment) {
        .......
    }

    public void applyBrakes(int decrement) {
        .......
    }
}

Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει.

μαλιστα.....αυτο βοηθησε παρα πολυ  :)  "Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει."

τελειο ευχαριστω... :) 

Ένα interface παρέχει τα ονόματα των μεθόδων και μια κλάση πρέπει να τις υλοποιήσει:

public interface Bicycle {
    // wheel revolutions per minute
    public void changeCadence(int newValue);

    public void changeGear(int newValue);

    public void speedUp(int increment);

    public void applyBrakes(int decrement);
}
 
public class ACMEBicycle implements Bicycle {
    .......
 
    public void changeCadence(int newValue) {
        .......
    }

    public void changeGear(int newValue) {
        .......
    }

    public void speedUp(int increment) {
        .......
    }

    public void applyBrakes(int decrement) {
        .......
    }
}

Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει.

μαλιστα.....αυτο βοηθησε παρα πολυ  :)  "Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει."

τελειο ευχαριστω... :D 

Ένα interface παρέχει τα ονόματα των μεθόδων και μια κλάση πρέπει να τις υλοποιήσει:

public interface Bicycle {
    // wheel revolutions per minute
    public void changeCadence(int newValue);

    public void changeGear(int newValue);

    public void speedUp(int increment);

    public void applyBrakes(int decrement);
}
 
public class ACMEBicycle implements Bicycle {
    .......
 
    public void changeCadence(int newValue) {
        .......
    }

    public void changeGear(int newValue) {
        .......
    }

    public void speedUp(int increment) {
        .......
    }

    public void applyBrakes(int decrement) {
        .......
    }
}

Μια κλάση μπορεί να υλοποιήσει πολλαπλά interfaces αν θέλει.

Αυτό καταλαβαίνω εγώ.

συμφωνα με το σχολιο σου

 

και με το σχολιο απο τον φιλο GReaperEx

 

εκει καταληγω κι εγω....

Δημοσ.

Όπως ακριβώς απάντησαν και τα παιδιά παραπάνω.

 

Σκεψου το interface σαν ενα συνολο ορισμών μεθόδων πχ:

public interface SearchBook{
   Book getBook();
}

οι οποίες υλοποιούνται απο την κλάση που κανει implement το interface:

public class BookActivity implements SearchBook

@Override
public Book getBook() {
     return book;
}

είτε σαν "μεταβλητές" μιας κλάσης που θελει να χρησιμοποιήσει τις μεθόδους του interface:

private SearchBook searchBook = new SearchBook() {
    @Override
    public Book getBook() {
        return book;
    }
};

Ετσι με αυτον τον τρόπο ενα interface μπορει να υλοποιείται απο διαφορετικές κλάσεις με διαφορετικό τρόπο σε κάθε μια.

 

Things to remember :

  • Ένα interface μπορει να κληρονομηθεί από ένα άλλο interface.
  • Μια κλάση μπορεί να κάνει implement πολλά interface.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...