dc.description.abstract |
Σκοπός της παρούσας εργασίας είναι η παρουσίαση των νέων χαρακτηριστικών της Java 8 όπου κυρίως επικεντρωθήκαμε στις Λάμδα εκφράσεις.
Όπως αναφέραμε ήδη μία λάμδα έκφραση είναι ένα ανώνυμο μπλοκ κώδικα (ή αλλιώς μία ανώνυμη συνάρτηση) με μία λίστα από προτυποποιημένες παραμέτρους και ένα σώμα. Μία λάμδα έκφραση παρέχει ένα συνοπτικό τρόπο, συγκρινόμενο με τις ανώνυμες εσωτερικές κλάσεις, για τη δημιουργία ενός στιγμιοτύπου συναρτησιακών διεπαφών. Οι λάμδα εκφράσεις και οι προκαθορισμένες μέθοδοι (default methods) είναι οι διεπαφές που έχουν δώσει μία νέα πνοή στην Java.
Η βιβλιοθήκη συλλογής της Java έχει επωφεληθεί περισσότερο από τις λάμδα εκφράσεις. Το συντακτικό για τον ορισμό των λάμδα εκφράσεων είναι παρόμοιο με τον ορισμό μιας μεθόδου. Μία λάμδα έκφραση μπορεί να έχει μία λίστα από προτυποποιημένες παραμέτρους και ένα σώμα. Η λάμδα έκφραση υπολογίζεται σε ένα στιγμιότυπο μίας λειτουργικής διεπαφής. Το σώμα της λάμδα έκφρασης δεν εκτελείται όταν υπολογίζεται η έκφραση. Το σώμα της λάμδα έκφρασης εκτελείται όταν η μέθοδος της λειτουργικής διεπαφής καλείται.
Ένας από τους σχεδιαστικούς στόχους των λάμδα εκφράσεων είναι να κρατηθούν συνοπτικές και αναγνώσιμες (readable). Το συντακτικό της λάμδα έκφρασης υποστηρίζει στενογραφίες για κοινές περιπτώσεις χρήστη. Οι αναφορές μεθόδων είναι συντομογραφίες, ενώ για να καθορίσουν τις λάμδα εκφράσεις που χρησιμοποιούν υπάρχουσες μεθόδους.
Επίσης μία πολύ-έκφραση είναι μία έκφραση της οποίας ο τύπος εξαρτάται από το περιεχόμενο όπου χρησιμοποιείται. Μία λάμδα έκφραση είναι πάντα μία πολύ-έκφραση. Μία λάμδα έκφραση δε μπορεί να χρησιμοποιηθεί μόνη της. Ο τύπος της διερμηνεύεται από τον μεταφραστή με βάση το περιεχόμενο όπου βρίσκεται.
Μία έκφραση λάμδα μπορεί να χρησιμοποιηθεί σε αναθέσεις, κλήσεις μεθόδων, επιστροφές και casts. Όταν μία λάμδα έκφραση συμβαίνει μέσα σε μία μέθοδο, είναι λεξικολογικά ορισμένη. Αυτό σημαίνει ότι μια λάμδα έκφραση δεν ορίζει από μόνη της το «πεδίο δράσης της» αλλά συμβαίνει μέσα στο πεδίο δράσης μίας μεθόδου. Μία λάμδα έκφραση μπορεί να χρησιμοποιήσει αποτελεσματικά τις τοπικές μεταβλητές μίας μεθόδου καθώς και τις δηλώσεις: |
el |