ΓΕΝΙΚΟ ΛΥΚΕΙΟ ΚΑΡΠΕΝΗΣΙΟΥ

(Γ) Ανάπτυξη Εφαρμογών

εβδ 26

Ύλη - Στόχοι

Χτίζοντας Αντικειμενοστραφή Προγράμματα
Ομαδοποίηση σε κλάσεις. Αφαιρετικότητα και ενθυλάκωση.

Για να δείτε παραδείγματα αφαιρετικότητας και ενθυλάκωσης δοκιμάστε τις ασκήσεις παρακάτω (ΕΚΤΟΣ ΥΛΗΣ).

Βιβλίο 2: 4.2, 4.3

Άσκηση kotlin 1

Ανοίξτε την ιστοσελίδα play.kotlinlang.org.

Αντιγράψτε τον κώδικα και δοκιμάστε:
- να φτιάξετε μόνοι σας ένα δικό σας αντικείμενο με το δικό σας όνομα και επίθετο.
- να δοκιμάσετε την μέθοδο 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)
 }
}

εβδ 26