(Γ) Ανάπτυξη Εφαρμογών
Χτίζοντας Αντικειμενοστραφή Προγράμματα
Ομαδοποίηση σε κλάσεις. Αφαιρετικότητα και ενθυλάκωση.
Για να δείτε παραδείγματα αφαιρετικότητας και ενθυλάκωσης δοκιμάστε τις ασκήσεις παρακάτω (ΕΚΤΟΣ ΥΛΗΣ).
Βιβλίο 2: 4.2, 4.3
Ομαδοποίηση σε κλάσεις. Αφαιρετικότητα και ενθυλάκωση.
Για να δείτε παραδείγματα αφαιρετικότητας και ενθυλάκωσης δοκιμάστε τις ασκήσεις παρακάτω (ΕΚΤΟΣ ΥΛΗΣ).
Βιβλίο 2: 4.2, 4.3
Ανοίξτε την ιστοσελίδα play.kotlinlang.org.
Αντιγράψτε τον κώδικα και δοκιμάστε:
- να φτιάξετε μόνοι σας ένα δικό σας αντικείμενο με το δικό σας όνομα και επίθετο.
- να δοκιμάσετε την μέθοδο sayHi() στο νέο σας αντικείμενο
- να βελτιώσετε το sayHi() έτσι ώστε να εμφανίζει και το επίθετο
- να προσθέσετε στο αντικείμενο μια ιδιότητα age ακέραια (Int)
Παρακάτω ο ίδιος κώδικας με επεξηγηματικά σχόλια
Αντιγράψτε τον κώδικα και δοκιμάστε:
- να φτιάξετε μόνοι σας ένα δικό σας αντικείμενο με το δικό σας όνομα και επίθετο.
- να δοκιμάσετε την μέθοδο sayHi() στο νέο σας αντικείμενο
- να βελτιώσετε το sayHi() έτσι ώστε να εμφανίζει και το επίθετο
- να προσθέσετε στο αντικείμενο μια ιδιότητα age ακέραια (Int)
Κάνε κλίκ στον κώδικα για αντιγραφή
fun main() {
var aPerson = Person("John","Doe")
aPerson.sayHi()
}
class Person(var name:String, var lastname:String) {
fun sayHi() {
println("Hi my name is " + name)
}
}
Παρακάτω ο ίδιος κώδικας με επεξηγηματικά σχόλια
Κάνε κλίκ στον κώδικα για αντιγραφή
fun main() {
/* Αντικείμενο: Το aPerson είναι αντικείμενο της κλάσης Person
* Πρέπει να έχει συγκεκριμένο name, lastname */
var aPerson = Person("John","Doe")
/* Ενθυλάκωση: το αντικείμενο έχει δικές του ιδιότητες (name, lastname)
* και μεθόδους (sayHi())
* Χρησιμοποιώ την τελεία (.) για να τις χρησιμοποιήσω π.χ aPerson.sayHi() */
aPerson.sayHi()
}
/* Αφαιρετικότητα: Όταν δηλώνω κλάση, ΔΕΝ δίνω συγκεκριμένα δεδομένα
* (π.χ Κωστας) τα αφήνω κενα ή απαιτώ να υπάρχουν (εδώ ως παράμετροι)
*
* Ενθυλάκωση: Η κλάση Person ενσωματώνει/ενθυλακώνει τις ιδιότητες
* name και lastname και την μέθοδο sayHi() */
class Person(var name:String, var lastname:String) {
fun sayHi() {
println("Hi my name is " + name)
}
}