Εδώ είναι η σύνδεσμος στην σελίδα που αναθεωρήθηκε ο κώδικας, και προστέθηκαν μερικές ακόμα μέθοδοι στο βασικό αντικείμενο Mem(). Η παλιά έκδοση δεν είχε ιδιότητες (ομάδες δηλαδή που γυρνούν τιμές ή παίρνουν τιμές ή κάνουν και τα δύο, και μπορεί να έχουν και ορίσματα), γιατί δεν είχαν φτιαχτεί τότε. Μπορούμε σε μια ομάδα να βάλουμε μια Ιδιότητα με την Ιδιότητα ή να την φτιάξουμε με μια Ομάδα.
Εδώ η κλάση Άλφα (μια συνάρτηση που γυρνάει ένα αντικείμενο Ομάδα), δίνει αντικείμενο που δέχεται και παίρνει τιμές (με ένα όρισμα), έχει μια ιδιότητα Τελευταίος, (δείτε την .[Τελευταίος] η οποία είναι η ιδιωτική μεταβλητή και μπορεί να γραφτεί/διαβαστεί, ενώ ως ιδιότητα το Τελευταίος μπορεί μόνο να διαβαστεί). Επίσης υπάρχουν δυο τελεστές. Δείτε επίσης πως αντιγράφουμε ένα αντικείμενο με την Ομάδα() η οποία δέχεται μόνο "επώνυμο" αντικείμενο. Έτσι στο Μ=Ομάδα(Ν) θα φτιάξουμε το Μ όπως το Ν.
Κλάση
Αλφα
{
Ιδιωτικό:
χ=10
Δημόσιο:
\\ δεν μπορούμε να φτιάξουμε τελεστές + - / * ^ γιατί υπάρχει Αξία, δηλαδή γυρνάει τιμή
\\ η οποία δουλεύει με τους κανονικούς τελεστές
\\ (σε άλλη περίπτωση που δεν έχουμε Αξία τότε μπορούμε)
\\ μπορούμε να φτιάξουμε όμως τα ++ -- και άλλους που δουλεύουν στη αριστερή έκφραση!
Τελεστής "++" {
.χ++
}
Τελεστής "--" {
.χ--
}
Ιδιότητα Τελευταίος {Αξια}=1
Αξία (α) {
=α*.Χ
.[Τελευταίος]<=α
}
Θέσε (α) {
αν α=0 τότε Λάθος "Μη επιτρεπτή τιμή"
.χ=Αριθμός/α
.[Τελευταίος]<=α
}
}
Ν=Αλφα()
Ν(3)=100
Τύπωσε Ν(3),Ν(2),Ν(1) \\ 30 20 10
Μ=Ομάδα(Ν)
Τύπωσε Μ(3),Μ(2),Μ(1) \\ 30 20 10
Τύπωσε Μ.τελευταίος
Τύπωσε Μ(100)
Τύπωσε Μ.τελευταίος
Μ++
Τύπωσε Μ(1) \ 11
Μ--
Τύπωσε Μ(1) \ 10
Ιδιωτικό:
χ=10
Δημόσιο:
\\ δεν μπορούμε να φτιάξουμε τελεστές + - / * ^ γιατί υπάρχει Αξία, δηλαδή γυρνάει τιμή
\\ η οποία δουλεύει με τους κανονικούς τελεστές
\\ (σε άλλη περίπτωση που δεν έχουμε Αξία τότε μπορούμε)
\\ μπορούμε να φτιάξουμε όμως τα ++ -- και άλλους που δουλεύουν στη αριστερή έκφραση!
Τελεστής "++" {
.χ++
}
Τελεστής "--" {
.χ--
}
Ιδιότητα Τελευταίος {Αξια}=1
Αξία (α) {
=α*.Χ
.[Τελευταίος]<=α
}
Θέσε (α) {
αν α=0 τότε Λάθος "Μη επιτρεπτή τιμή"
.χ=Αριθμός/α
.[Τελευταίος]<=α
}
}
Ν=Αλφα()
Ν(3)=100
Τύπωσε Ν(3),Ν(2),Ν(1) \\ 30 20 10
Μ=Ομάδα(Ν)
Τύπωσε Μ(3),Μ(2),Μ(1) \\ 30 20 10
Τύπωσε Μ.τελευταίος
Τύπωσε Μ(100)
Τύπωσε Μ.τελευταίος
Μ++
Τύπωσε Μ(1) \ 11
Μ--
Τύπωσε Μ(1) \ 10
Δείτε τώρα πως άλλαξε το πρόγραμμα, με την χρήση της Items (ομάδα - group- που γυρίζει τιμή ομάδα)
Δεν υπάρχουν σχόλια:
Δημοσίευση σχολίου
You can feel free to write any suggestion, or idea on the subject.