Αντικειμενοστρεφής Προγραμματισμός
|
|
- Σάτυριον Αναγνώστου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 5: Πιο Εξελιγμένη Συμπεριφορά Γρηγόρης Τσουμάκας, Επικ. Καθηγητής
2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο» έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
4 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πιο Εξελιγμένη Συμπεριφορά
5 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τα παραδείγματα κώδικα που χρησιμοποιούνται σε κάποιες από τις ακόλουθες διαφάνειες μπορούν να βρεθούν στον παρακάτω σύνδεσμο:
6 Περιεχόμενα Μεταβλητές και μέθοδοι κλάσεων. Αλληλεπίδραση μέσω της γραμμής εντολών. Κλάσεις βιβλιοθήκης.
7 Σταθερές Μεταβλητές Χρήση λέξης κλειδί final πριν τον τύπο. Αν ανατεθεί τιμή στην μεταβλητή, τότε αυτή η τιμή δεν μπορεί να αλλάξει. Παράδειγμα. final int X = 3; X = 5; // σφάλμα final int Y; Y = 5; Y = 3; // σφάλμα
8 Μεταβλητές Κλάσεων Μεταβλητές κλάσεων ή στατικές μεταβλητές. Ανά πάσα στιγμή υπάρχει ένα και μόνο αντίγραφό τους ανεξάρτητα από τον αριθμό των αντικειμένων. Δήλωση. Με τη λέξη κλειδί static πριν από τον τύπο τους. Αρχικοποίηση. Μαζί με την δήλωση με τον τελεστή = Σε στατικό μπλοκ κώδικα αρχικοποίησης.
9 Παράδειγμα 1 public class Product { private int id; } private static int numproducts = 0; public Product() { id = ++numproducts; } public int getid() { return id; } public static void main(string[] args) { Product p1 = new Product(); Product p2 = new Product(); System.out.println(p2.getId()); } Product.java
10 Παράδειγμα 2 import java.util.arraylist; public class StaticBlock { private static ArrayList<String> names; static { names = new ArrayList<>(); names.add("greg"); names.add("nick"); } } StaticBlock.java
11 Σταθερές Κλάσεων Σταθερές κλάσεων. Μια συνηθισμένη χρήση μεταβλητών κλάσεων είναι ο ορισμός σταθερών πεδίων. Δεν υπάρχει λόγος να υπάρχουν αντίγραφα μιας σταθερής μεταβλητής σε κάθε αντικείμενο.
12 Παράδειγμα public class FreeFall { } private double height; private static final double GRAVΙTY = 9.78; public FreeFall(double h) { height = h; } public double heightafterseconds(int t) { return height-0.5*gravity*t*t; } public double timetovelocity(double v) { return v/gravity; } FreeFall.java
13 Μέθοδος Κλάσης (1/2) Μέθοδος κλάσης ή αλλιώς στατική μέθοδος. Μπορεί να κληθεί χωρίς να υπάρχει στιγμιότυπο. Δήλωση. Με την προσθήκη της λέξης κλειδί static πριν από τον τύπο της επιστρεφόμενης τιμής μιας μεθόδου. Κλήση. Όνομα_κλάσης.όνομα_στατικής_μεθόδου.
14 Παράδειγμα public class StaticMethod { public static void hello() { System.out.println("hello"); } } public class StaticMethodApp { public static void main(string[] args) { StaticMethod.hello(); } } StaticMethod.java, StaticMethodApp.java
15 Μέθοδος Κλάσης (2/2) Περιορισμοί. Δεν μπορεί να προσπελάσει μη στατικά πεδία, αφού αυτά σχετίζονται με συγκεκριμένα αντικείμενα. Δεν μπορεί να προσπελάσει μη στατικές μεθόδους, αφού αυτές μπορεί να σχετίζονται με μη στατικά πεδία.
16 Περιεχόμενα Μεταβλητές και μέθοδοι κλάσεων. Αλληλεπίδραση μέσω της γραμμής εντολών. Κλάσεις βιβλιοθήκης.
17 Ρεύματα (Streams) Ένας ορισμός του ρεύματος. Αφαιρετική έννοια για κάτι το οποίο παράγει (είσοδος) ή καταναλώνει (έξοδος) δεδομένα. Είδη ρευμάτων. byte, κυρίως για δυαδικά δεδομένα. χαρακτήρες, κυρίως για δεδομένα κειμένου.
18 Προκαθορισμένα Ρεύματα System.in Προκαθορισμένο ρεύμα εισόδου. Συνήθως αντιστοιχεί στο πληκτρολόγιο. System.out Προκαθορισμένο ρεύμα φυσιολογικής εξόδου. Συνήθως αντιστοιχεί στην έξοδο προς την οθόνη. System.err Προκαθορισμένο ρεύμα εξόδου για σφάλματα. Συνήθως αντιστοιχεί στην έξοδο προς την οθόνη ή προς κάποιο αρχείο καταγραφής (log) σφαλμάτων.
19 Μορφοποιημένη Έξοδος Η κλάση PrintStream. Τα System.out και System.err είναι αντικείμενα της κλάσης PrintStream, η οποία επιτρέπει τη μορφοποιημένη έξοδο. Μέθοδοι. print, println. format ή printf (όπως η printf της C).
20 Συμβολοσειρά Μορφοποίησης (1/3) Δομή συμβολοσειράς μορφοποίησης. %[θέση$] [σημαίες] [πλάτος] [.ακρίβεια] τύπος Θέση. Για επαναχρησιμοποίηση της ίδιας παραμέτρου σε διαφορετικά σημεία, ίσως με διαφορετικό τύπο. Για αλλαγή της σειράς εμφάνισης των παραμέτρων. Πλάτος. Ελάχιστο πλάτος εμφάνισης (δεξιά στοίχιση). Σημαία: '-' Αριστερή στοίχιση μέσα στο ελάχιστο πλάτος.
21 Συμβολοσειρά Μορφοποίησης (2/3) Δομή συμβολοσειράς μορφοποίησης. %[θέση$] [σημαίες] [πλάτος] [.ακρίβεια] τύπος. Διάφορα. %% (%), %n (ορθή αλλαγή γραμμής ανεξάρτητα από το λειτουργικό σύστημα). Τύπος String %s, %S. Ακρίβεια: μέγιστο πλάτος κειμένου. Τύπος char %c, %C. Τύπος boolean %b, %B.
22 Συμβολοσειρά Μορφοποίησης (3/3) Δομή συμβολοσειράς μορφοποίησης. %[θέση$] [σημαίες] [πλάτος] [.ακρίβεια] τύπος. Ακέραιος τύπος %d, %x, %X, %o. Πραγματικός τύπος %f, %e, %E. Ακρίβεια: αριθμός δεκαδικών (στρογγυλοποίηση). Σημαίες για αριθμούς. '+'/' ': προσθέτει ένα '+'/' ' εμπρός από θετικούς. '0': γεμίζει με 0 αντί κενών το ελάχιστο πλάτος. ',': εμφανίζει διαχωριστή χιλιάδων. UsingPrintf.java
23 Είσοδος από το Πληκτρολόγιο Δύσχρηστο το System.in. Χρήση βοηθητικής κλάσης java.util.scanner. Αρχικοποίηση της Scanner με το System.in. Scanner ascanner = new Scanner(System.in); Μέθοδοι για ανάγνωση δεδομένων. nextbyte(), nextshort(), nextint(), nextlong(). nextfloat(), nextdouble(), nextboolean(). nextline() για ανάγνωση κειμένου. ScannerTest.java
24 Παράδειγμα 1 Scanner input = new Scanner(System.in); int number1, number2, sum; System.out.printf("Δώσε ακέραιο: "); number1 = input.nextint(); System.out.printf("Δώσε ακέραιο: "); number2 = input.nextint(); sum = number1 + number2; System.out.printf("Άθροισμα: %d%n", sum); AddInt.java
25 Παράδειγμα 2 Scanner scanner = new Scanner(System.in); System.out.print("Δώσε αριθμό: "); int x = scanner.nextint(); System.out.print("Δώσε όνομα: "); //scanner.nextline(); String name = scanner.nextline(); System.out.print("Δώσε όνομα: "); name = scanner.nextline(); System.out.print("Δώσε αριθμό: "); x = scanner.nextint(); ReadText.java
26 Τοπικές Ρυθμίσεις (1/2) Η κλάση Locale. Αντιπροσωπεύει μια γλώσσα και μια γεωγραφική περιοχή (προαιρετικά). Τρέχουσες τοπικές ρυθμίσεις. Locale default = Locale.getDefault(); Δημιουργία. Locale usa = new Locale("en", "US");
27 Τοπικές Ρυθμίσεις (2/2) Οι κλάσεις PrintStream και Scanner. Λαμβάνουν υπόψη το προκαθορισμένο Locale. Δέχονται ως παράμετρο ένα εναλλακτικό Locale. Παράδειγμα. Locale l = new Locale("en", "US"); System.out.printf(l, "%.2f", ); Scanner s = new Scanner(System.in); s.uselocale(locale); AddDouble.java
28 Κλάση Console Αλληλεπίδραση μέσω αντικειμένου της. Console c = System.console(); Αν επιστρέψει null, τότε δεν είναι διαθέσιμο. Μέθοδοι. String readline(string message); char[] readpassword(string message);
29 Παράδειγμα Console c = System.console(); if (c == null) { System.out.println("No console."); return; } String s; do { String l = c.readline("login: "); char[] p = c.readpassword("password: "); s = String.copyValueof(p); } while (!s.equals("java")); System.out.println("Welcome!"); Password.java
30 Ορίσματα Γραμμής Εντολών Παράδειγμα ορισμάτων γραμμής εντολών. javac MyProgram.java. java MyProgram argument1 "argument 2". Στο NetBeans. Δεξί κλικ στο project -> properties -> Run. Πρόσβαση μέσω της παραμέτρου της main. public static void main(string[] args). Τα στοιχεία του πίνακα αντιστοιχούν στα ορίσματα που έχουν δοθεί στη γραμμή εντολών. Arguments.java
31 Περιεχόμενα Μεταβλητές και μέθοδοι κλάσεων. Αλληλεπίδραση μέσω της γραμμής εντολών. Κλάσεις βιβλιοθήκης.
32 Εκδόσεις της Java Έκδοση Ημερομ. Κλάσεις Πακέτα Νέα χαρακτηριστικά Java Java Εσωτερικές κλάσεις Java Java 2, collections, Swing, J2ME, J2EE, Java HotSpot, Sound, Java XML, GUI, Images, Java generics, enum, for/in, autoboxing, Java Web services, XML, DB, Desktop, Java Υποστήριξη πρόσφατων πρωτοκόλλων δικτύου, καρτών γραφικών,
33 Καλός Προγραμματιστής Java Πρέπει να γνωρίζει τα ονόματα ορισμένων από τις σημαντικότερες κλάσεις βιβλιοθήκης. String, System, ArrayList, Iterator, Scanner, Άλλες που θα δούμε: HashSet, HashMap, Random. Πρέπει να γνωρίζει πώς μπορεί να μάθει περισσότερα για άλλες κλάσεις βιβλιοθήκης. Τι δημόσιες μεθόδους προσφέρουν; Τι παραμέτρους δέχονται; Τι ακριβώς κάνουν;
34 Παράδειγμα Σύστημα αυτόματης τεχνικής υποστήριξης. SupportSystem InputReader Responder techsupport1
35 Τεκμηρίωση Κλάσεων Βιβλιοθήκης Αφορά στη διασύνδεση τους (αφαίρεση). Όνομα, γενική περιγραφή, λίστα κατασκευαστών και μεθόδων, περιγραφή, παράμετροι και επιστρεφόμενες τιμές τους. Διατίθεται online καθώς και για download.
36 Πηγαίος Κώδικας Κλάσεων Βιβ. Αφορά στην υλοποίηση τους. Περιλαμβάνεται στη διανομή του JDK. Αρχείο src.zip στο βασικό φάκελο εγκατάστασης. Κάθε σοβαρό IDE, επιτρέπει την πρόσβαση στον πηγαίο κώδικα κλάσεων βιβλιοθήκης. Στο NetBeans, κάνετε δεξί κλικ επάνω στην κλάση ή μέθοδο και επιλέγετε Navigate -> Go to Source.
37 Συγγραφή Τεκμηρίωσης Συνήθως αγνοούμε την τεκμηρίωση. Δύσκολη η κατανόηση των κλάσεων από εσάς και άλλους έπειτα από κάποιο χρονικό διάστημα. Δύσκολη η ανάγνωση πηγαίου κώδικα. Γενική αρχή. Η τεκμηρίωση πρέπει να είναι αρκετά λεπτομερής ώστε να μπορεί κάποιος να χρησιμοποιήσει την κλάση χωρίς να χρειάζεται να δει την υλοποίηση.
38 /** javadoc */ Πάνω από τον ορισμό της κλάσης γράφουμε. Μια γενική περιγραφή της κλάσης. Τα ονόματα των συγγραφέων Τον αριθμό έκδοσης της κλάσης Πάνω από τον ορισμό μιας μεθόδου. Περιγραφή του σκοπού και της λειτουργίας της. Περιγραφή της κάθε παραμέτρου Περιγραφή της επιστρεφόμενης τιμής
39 Χρήση javadoc στο NetBeans Ανάλυση της τεκμηρίωσης. Δεξί κλικ σε πακέτο/κλάση: Tools->Analyze Javadoc. Μας αναφέρει πιθανές ελλείψεις στην τεκμηρίωση. Παραγωγή τεκμηρίωσης. Δεξί κλικ επάνω σε ένα project: Generate Javadoc Iστοσελίδες με τεκμηρίωση, όπως αυτές του Java API, δημιουργούνται στον υποφάκελο dist/javadoc/ Απαιτείται ο κώδικας να είναι σε κάποιο πακέτο.
40 Μήκος Συμβολοσειράς Μέθοδος int length(). Παράδειγμα. String str1 = "hello"; int length = str1.length(); System.out.println(length) // 5
41 Χαρακτήρας σε Δοθείσα Θέση Μέθοδος char charat(int index). Παράδειγμα. String str = "hello"; for (int i=0; i<str.length(); i++) System.out.println(str.charAt(i)); // h // e // l // l // o
42 Αφαίρεση Λευκών Κενών Μέθοδος String trim(). Παράδειγμα. String str1 = " \t Hello World! %n"; String str2 = str1.trim(); System.out.print(str2 + str2); // Hello World!Hello World!
43 Μετατροπή σε Πεζά/Κεφαλαία Μέθοδος String tolowercase(). Μέθοδος String touppercase(). Παράδειγμα. String str1 = "Hello World!"; String str2 = str1.tolowercase(); System.out.println(str2); // hello world!
44 Αμετάλλακτα Αντικείμενα Αμετάλλακτα αντικείμενα (immutable objects). Αντικείμενα κλάσεων δίχως μεθόδους μετάλλαξης. Από τη στιγμή που θα δημιουργηθούν και έπειτα, η κατάσταση τους δεν μπορεί να αλλάξει. Τα αντικείμενα της String είναι αμετάλλακτα. Δεν υπάρχουν μέθοδοι αλλαγής των χαρακτήρων. Μέθοδοι που "φαίνεται" να αλλάζουν το αντικείμενο, στην πραγματικότητα δημιουργούν και επιστρέφουν ένα νέο.
45 Μέθοδος boolean equals(string str). Ο τελεστής == ελέγχει αν οι θέσεις μνήμης που είναι αποθηκευμένες στις μεταβλητές είναι ίδιες! Παράδειγμα. String s1 = new String("ABC"); String s2 = new String("ABC"); System.out.printf("%b ", s1 == s2); System.out.printf("%b ", s1.equals(s2)); s1 = "ABC"; s2 = "ABC"; System.out.printf("%b ", s1 == s2); // false true true Έλεγχος Ισότητας StringEquality.java
46 Βελτίωση Παραδείγματος Τροποποιήστε τη μέθοδο start της κλάσης SupportSystem ώστε η έξοδος να Γίνεται και με " bye", "bye ", "Bye ", "BYE", " bye. Μην γίνεται όταν ακολουθούν και άλλες λέξεις. Χρήση trim και tolowercase. Χρήση equals αντί για startswith.
47 Διαχωρισμός σε Τμήματα Mέθοδος String[] split(string s). Ως παράμετρο παίρνει μια συμβολοσειρά διαχωρισμού της συμβολοσειράς που την καλεί. Επιστρέφει πίνακα String με τα τμήματα. Παράδειγμα. String s = "ένα-δύο-τρία-τέσσερα-πέντε"; String[] tokens = s.split("-"); for (String token : tokens) System.out.println(token); Split.java
48 Σύγκριση με Άλλη Συμβολοσειρά Μέθοδος int compareto(string str). Επιστρέφει 0 αν ισούνται, >0 αν η καλούσα έπεται λεξικογραφικά της str, και <0 αν προηγείται. Παράδειγμα. String s1 = "Hello", s2 = "Bye bye!"; int result = s1.compareto(s2); if (result < 0) System.out.println("προηγείται η " + s1); else System.out.println("προηγείται η " + s2);
49 Συνένωση Συμβολοσειρών Μέθοδος String concat(string str). Παράδειγμα. String str1 = "Βοηθήστε"; String str2 = " με!"; String str3 = str1.concat(str2); System.out.println(str3); // Βοηθήστε με! String str4 = "Java ".concat(" 1.7"); System.out.println(str4); // Java 1.7
50 Συνένωση με τον Τελεστή Πρόσθεσης Η συνένωση γίνεται εναλλακτικά με τον τελεστή "+" της πρόσθεσης. Μοναδική περίπτωση υπερφόρτωσης τελεστή στη Java. Παράδειγμα. String str1 = "ίσα"; str1 = str1 + " " + str1; System.out.println(str1); // ίσα ίσα String str2 = "Java"; String str3 = str2 + " 1.7"; System.out.println(str3); // Java 1.7
51 Η Κλάση StringBuilder Είπαμε πως τα Strings είναι αμετάλλακτα. Τι κάνουμε αν θέλουμε να κάνουμε αλλαγές; Χρησιμοποιούμε την κλάση StringBuilder. append(string s) // int, char, κτλ setcharat(int index, char ch) deletecharat(int index) insert(int index, String s) // int, κτλ delete(int from, int to) replace(int from, int to, String s) setlength(int l) StringConcatenation.java
52 Συμβολοσειρά από Μεταβλητές Στατική μέθοδος String format(string s, ). Λειτουργεί όπως η μέθοδος format του System.out Παράδειγμα. int x = 3; int y = 2; int z = x+y; String s; s = String.format("%d + %d = %d", x, y, z);
53 Τυχαίοι Αριθμοί (1/2) Η κλάση java.util.random. Γεννήτρια ψευδοτυχαίων αριθμών. Αρχικοποίηση. Random r1 = new Random(); // ρολόι r1.setseed(756l) // χρήστης Random r2 = new Random(12L); // χρήστης Λήψη τυχαίου πραγματικού αριθμού. float f = r1.nextfloat(); // [0..1) double d = r1.nextdouble(); // [0..1)
54 Τυχαίοι Αριθμοί (2/2) Μέθοδος λήψης τυχαίας λογικής τιμής. boolean b = r1.nextboolean(); // true/false Μέθοδοι λήψης τυχαίου ακέραιου αριθμού. int i1 = r1.nextint(); // όλο το εύρος int i2 = r1.nextint(5); // 0, 1, 2, 3, 4 long l = r1.nextlong(); // όλο το εύρος Τυχαίος αριθμός κανονικής κατανομής. Μέση τιμή 0.0 και τυπική απόκλιση 1.0. double gauss = r1.nextgaussian(); RandomNums.java
55 Βελτίωση Παραδείγματος Τροποποιήστε την κλάση Responder ώστε να επιστρέφει τυχαία μία απάντηση μέσα από μια λίστα με έτοιμες απαντήσεις. Χρήση ArrayList με απαντήσεις. Χρήση Random για τυχαίο αριθμό από 0 έως το πλήθος των απαντήσεων μείον ένα. Χρήση get της ArrayList με αυτόν τον αριθμό. techsupport2
56 Σύνολο (Set) Συλλογή αντικειμένων με τις εξής ιδιότητες. Κάθε διαφορετικό στοιχείο υπάρχει μία μόνο φορά. Τα στοιχεία δεν διατηρούνται στη σειρά με την οποία προστίθενται στη συλλογή. Η κλάση java.util.hashset υλοποιεί ένα σύνολο. Διαθέτει μεθόδους add, remove, size, αλλά όχι get. Χρήση for-each ή Iterator για να το διατρέξουμε. Χρησιμοποιεί πίνακα κατακερματισμού για αποθήκευση των αντικειμένων. SetMethods.java
57 Χάρτης (Map) Αναπαριστά συλλογές από ζεύγη αντικειμένων. Αντικείμενο κλειδί και αντικείμενο τιμή. Επιτρέπει την ανάκτηση του αντικειμένου τιμή με βάση το αντικείμενο κλειδί. Δεν επιτρέπεται η ύπαρξη του ίδιου κλειδιού παραπάνω από μία φορές. Η κλάση java.util.hashmap υλοποιεί ένα χάρτη. Χρησιμοποιεί πίνακα κατακερματισμού για αποθήκευση των κλειδιών.
58 Βασικές Μέθοδοι HashMap (1/2) V put(k key, V value); Επιστρέφει null αν δεν υπήρχε το key, αλλιώς την προηγούμενη τιμή που ήταν αποθηκευμένη. V get(object key); Επιστρέφει null αν δεν υπήρχε το key, αλλιώς την τιμή που είναι αποθηκευμένη. V remove(object key); Επιστρέφει null αν δεν υπήρχε το key, αλλιώς την τιμή που ήταν αποθηκευμένη.
59 Βασικές Μέθοδοι HashMap (2/2) Έλεγχος για ύπαρξη κλειδιού και τιμής. boolean containskey(object key); boolean containsvalue(object value); Λήψη συλλογής κλειδιών και τιμών. keyset(); // επιστρέφει σύνολο κλειδιών values(); // επιστρέφει συλλογή τιμών Λήψη συνόλου ζευγών κλειδιών και τιμών τύπου Map.Entry<K, V>, με μεθόδους getkey() και getvalue() entryset(); MapMethods.java
60 Βελτίωση Παραδείγματος Τροποποιήστε το σύστημα τεχνικής υποστήριξης ώστε να επιστρέφει μια κατάλληλη απάντηση ανάλογα με τις λέξεις που δίνει ο χρήστης. HashMap για αντιστοίχιση λέξεων σε απαντήσεις. Χρήση μεθόδου split της κλάσης String για να σπάσουμε την ερώτηση του χρήστη σε λέξεις και προσθήκη τους σε HashSet. Αναζήτηση λέξεων χρήστη στο HashMap. techsupport3
61 Κλάσεις Περιτύλιξης (1/2) Θετικό χαρακτηριστικό θεμελιωδών τύπων. Αποδοτικότητα (ταχύτητα), καθώς δεν αποτελούν αντικείμενα (δεν κληρονομούν την κλάση Object). Πρόβλημα θεμελιωδών τύπων. Ορισμένες προηγμένες δυνατότητες της Java (π.χ. οι συλλογές) εφαρμόζονται μόνο σε αντικείμενα. Η λύση στο παραπάνω πρόβλημα. Κλάσεις περιτύλιξης (type wrappers), οι οποίες ενσωματώνουν τους θεμελιώδεις τύπους.
62 Κλάσεις Περιτύλιξης (2/2) Βρίσκονται στο java.lang Character, Boolean, Float, Double. Byte, Short, Integer, Long, Είναι αμετάτρεπτες κλάσεις. Άπαξ και δημιουργηθεί ένα αντικείμενο τους, δεν γίνεται να αλλάξει το περιεχόμενο του. Δεν μπορούμε να περάσουμε ως παράμετρο ένα τέτοιο αντικείμενο σε μια μέθοδο και αυτή να αλλάξει το περιεχόμενο του.
63 Αρχικοποίηση Όλες οι αριθμητικές κλάσεις αρχικοποιούνται με δομητή που παίρνει ως παράμετρο. Μια τιμή του αντίστοιχου θεμελιώδη τύπου. Μια αναπαράσταση της τιμής αυτής ως συμβολοσειρά. Παραδείγματα. Integer age = new Integer(23); Double money = new Double("700.70");
64 Μετατροπή σε Θεμελιώδη Τύπο Μέθοδοι για μετατροπή σε επιθυμητό θεμελιώδη αριθμητικό τύπο. byte bytevalue(), short shortvalue(). int intvalue(), long longvalue(). float floatvalue(), double doublevalue(). Παράδειγμα. Double sum = new Double(72.34); int x = sum.intvalue();
65 Αυτόματη (Από)Πλαισίωση Από θεμελιώδη τύπο σε κλάση (boxing). Integer age = new Integer(23); Από κλάση σε πρωτόγονο (unboxing). Double money = new Double(700.70); double m = money.doublevalue(); Αυτοματοποιήσεις (από Java 5 και έπειτα). Integer x1 = 3, x2; // boxing int y1 = x1; // unboxing x2 = x1 + (x1 / 2); // unboxing, boxing
66 Από Συμβολοσειρά σε Αριθμό Διατίθενται στατικές μέθοδοι για μετατροπή συμβολοσειρών σε θεμελιώδεις τύπους. String str1 = "1.5"; double a = Double.parseDouble(str1); float b = Float.parseFloat(str1); String str2 = "5"; int c = Integer.parseInt(str2); long d = Long.parseLong(str2); short e = Short.parseShort(str2); byte f = Byte.parseByte(str2);
67 Από Αριθμό σε Συμβολοσειρά Διατίθεται στατική μέθοδος tostring για μετατροπή σε συμβολοσειρά. String strfloat = Float.toString(0.01f); System.out.println(strFloat) // 0.01 Εναλλακτικά η μετατροπή μπορεί να γίνει με τη στατική μέθοδο valueof της String String strdouble = String.valueOf(3.14); System.out.println(strDouble) // 3.14
68 Παράδειγμα double d = ; String s = Double.toString(d); int dot = s.indexof('.'); System.out.print(dot + " ψηφία πριν και "); System.out.println((s.length() dot - 1) + " μετά το σημείο των δεκαδικών.");
69 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Τέλος Ενότητας Επεξεργασία: Εμμανουήλ Ρήγας Θεσσαλονίκη, Εαρινό Εξάμηνο
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 1: Εισαγωγή Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Οντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Σύγκριση JAVA-C ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΣΥΓΚΡΙΣΗ JAVA - C ΤΥΠΟΙ
2.1. Εντολές. 2.2. Σχόλια. 2.3. Τύποι Δεδομένων
2 Βασικές Εντολές 2.1. Εντολές Οι στην Java ακολουθούν το πρότυπο της γλώσσας C. Έτσι, κάθε εντολή που γράφουμε στη Java θα πρέπει να τελειώνει με το ερωτηματικό (;). Όπως και η C έτσι και η Java επιτρέπει
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 6: Σχεδίαση Κλάσεων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008 - Παράδειγμα με switch (το οποίο δείχνει επίσης πότε σε μια άσκηση χρησιμοποιούμε user-input και System.out.println() για έξοδο και πότε χρησιμοποιούμε είσοδο σε μέθοδο
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων
Οντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βιβλιοθήκες ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΒΙΒΛΙΟΘΗΚΗ JAVA ΒΑΣΙΚΗ ΒΙΒΛΙΟΘΗΚΗ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο input
Βασικά Στοιχεία της Java
Βασικά Στοιχεία της Java Παύλος Εφραιμίδης Java Βασικά Στοιχεία της γλώσσας Java 1 Τύποι Δεδομένων Η Java έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) τύπους δεδομένων αναφορές Java Βασικά
Κλάσεις και Αντικείµενα
Κλάσεις και Αντικείµενα Γρηγόρης Τσουµάκας Τµήµα Πληροφορικής, Αριστοτέλειο Πανεπιστήµιο Θεσσαλονίκης Κλάσεις και Αντικείµενα 2 Τα αντικείµενα σε µια αντικειµενοστρεφή γλώσσα προγραµµατισµού, µοντελοποιούν
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 15: Σχεδίαση Εφαρμογών Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II Strings Η κλάση String είναι προκαθορισμένη κλάση της Java που μας επιτρέπει να χειριζόμαστε αλφαριθμητικά. Ο τελεστής + μας επιτρέπει
Προγραμματισμός 2 Σημειώσεις εργαστηρίου
Προγραμματισμός 2 Σημειώσεις εργαστηρίου 02-Java, Τύποι Δεδομένων ως Αντικείμενα Νεβράντζας Βάιος-Γερμανός Λάρισα, Μάρτιος 2013 02-iProgramminginJava, Τυ ποι δεδομε νων ως Αντικει μενα, σελίδα 1 Περίληψη
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 3: Αλληλεπίδραση Αντικειμένων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java
Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.
Το πρόγραμμα HelloWorld.java Σχόλια στη Java HelloWorld Παύλος Εφραιμίδης pefraimi ee.duth.gr Java Το πρόγραμμα HelloWorld 1 Java Το πρόγραμμα HelloWorld 2 Σχόλια στη Java ΗγλώσσαJava υποστηρίζει
Βασικά Στοιχεία της Java
Βασικά Στοιχεία της Παύλος Εφραιμίδης 1 Βασικά Στοιχεία της γλώσσας Τύποι Δεδομένων Η έχει δύο κατηγορίες τύπων δεδομένων: πρωτογενείς (primitive) iti τύπους δεδομένων δδ αναφορές 2 Βασικά Στοιχεία της
Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java
Προχωρημένος Προγραμματισμός Εισαγωγή στον αντικειμενοστραφή προγραμματισμό με τη Java ΕΛΕΥΘΕΡΙΟΣ ΚΟΣΜΑΣ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2018-2019 ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ Τ.Ε. 1 Περίληψη Σήμερα... θα παρουσιάσουμε
Αντικειμενοστρεφής Προγραμματισμός
Αντικειμενοστρεφής Προγραμματισμός Διδάσκουσα: Αναπλ. Καθηγήτρια Ανδριάνα Πρέντζα aprentza@unipi.gr Εργαστηριακός Συνεργάτης: Δρ. Βασιλική Κούφη vassok@unipi.gr Εργαστήριο 2 Βασικοί Τύποι Μεταβλητών Java
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 17/1/08 Constructors (Κατασκευαστές) Ειδικός τύπος μεθόδων που δημιουργούν αντικείμενα μιας κλάσης και: Εκτελούνται κατά την αρχικοποίηση των αντικειμένων
Εισαγωγή στον Προγ/μό Η/Υ
Εισαγωγή στον Προγ/μό Η/Υ Ενότητα 7 2ο μέρος: Επιπλέον έννοιες σχετικά με αντικείμενα Διδάσκων: Μιχάλης Τίτσιας Περιεχόμενα Τι μπορεί να περιέχει μια τάξη Μέθοδοι τάξης και σταθερές τάξης Πολυμορφισμός
3 Αλληλεπίδραση Αντικειμένων
Αφαίρεση και Αρθρωσιμότητα 3 Αλληλεπίδραση Αντικειμένων Πώς συνεργάζονται τα αντικείμενα που δημιουργούμε Αφαίρεση (abstraction) είναι η δυνατότητα να αγνοούμε τις λεπτομέρειες και να εστιάζουμε την προσοχή
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις Γαβαλάς Δαμιανός
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07 Αριθμητική στο δυαδικό σύστημα (γενικά) Συμπληρωματικά για δυαδικό σύστημα Η πρόσθεση στηρίζεται στους κανόνες: 0 + 0 = 0, 0 + 1 = 1, 1
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η
Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η μέθοδος main(), εμφάνιση μηνυμάτων, Java προγράμματα που εκτελούν αριθμητικές πράξεις 2 Ανατομία ενός προγράμματος
Mεταβλητές (variables) και Σταθερές (constants)
Mεταβλητές (variables) και Σταθερές (constants) Οι μεταβλητές είναι οι θέσεις μνήμης στις οποίες ένα πρόγραμμα τοποθετεί τα δεδομένα του κατά τη διάρκεια της λειτουργίας του. θα μάθουμε: πως δηλώνουμε
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και αντικείμενα στην Java Strings Πίνακες
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και αντικείμενα στην Java Strings Πίνακες ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα 1 Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται πάνω σε μία ευθεία πάντα
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές ΔΟΜΕΣ Πίνακες Πολλές φορές έχουμε πολλές μεταβλητές του ίδιου τύπου που συσχετίζονται
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Δημιουργία Κλάσεων και Αντικειμένων Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά και κοινή συμπεριφορά. Ένα καλούπι/πρότυπο
Αντικειµενοστρεφής Προγραµµατισµός
16 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 2: Μεταβλητές και Σταθερές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου Μεγάλο παράδειγμα Θέλουμε να δημιουργήσουμε ένα λογισμικό για ένα τμήμα πανεπιστημίου. Το τμήμα έχει 4
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 3 ΕΛΕΓΧΟΣ ΡΟΗΣ ΠΡΟΓΡΑΜΜΑΤΟΣ Ι. Ελεγκτές συνθηκών ή περιπτώσεων:
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ
Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ Κων. Κόκκινος Μεταβλητές-1 Οι μεταβλητές αποτελούν θέσεις μνήμης στις οποίες αποθηκεύονται τιμές αντίστοιχες
Οντοκεντρικός Προγραμματισμός
Οντοκεντρικός Προγραμματισμός Ενότητα 2: Η ΓΛΩΣΣΑ JAVA Βασικά Δομικά Στοιχεία ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής ΔΟΜΙΚΑ ΣΤΟΙΧΕΙΑ ΔΟΜΙΚΑ
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Μέθοδοι Παράδειγμα Θέλουμε ένα πρόγραμμα που να προσομοιώνει την κίνηση ενός αυτοκινήτου, το οποίο κινείται και τυπώνει τη θέση του.
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 2: Κλάσεις, Αντικείμενα και η Σύνταξη της Java Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 3: Εισαγωγή και Εμφάνιση Δεδομένων Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες
Προγραμματισμός Η/Υ. Ενότητα 2β: Εισαγωγή στη C (Μέρος Δεύτερο)
Προγραμματισμός Η/Υ Ενότητα 2β: Νίκος Καρακαπιλίδης, Καθηγητής Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Κατανόηση της έννοιας του Τελεστή
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Το if-else statement Το if-else statement δουλεύει καλά όταν στο condition θέλουμε να περιγράψουμε μια επιλογή με δύο πιθανά ενδεχόμενα.
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 2 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Αναφορές Μαθήματα από το lab Υπενθύμιση: Η άσκηση ζητούσε να υλοποιήσετε μία κλάση vector που να διαχειρίζεται διανύσματα οποιουδήποτε
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος
Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,
Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 3: Προγραμματισμός σε JAVA I Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή στις έννοιες: - Στοιχειώδης Προγραμματισμός - Προγραμματισμός με Συνθήκες - Προγραμματισμός με Βρόγχους
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Μαθήματα από τα εργαστήρια ΕΡΓΑΣΤΗΡΙΟ 1 Μαθήματα από το πρώτο εργαστήριο Δημιουργία αντικειμένου Scanner Scanner input = new Scanner(System.in); Το αντικείμενο
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα Μαθήματα από το πρώτο εργαστήριο Έλεγχος ισότητας για Strings: Διαβάζουμε το String option και θέλουμε ένα loop να συνεχίσει
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java III Ισότητα Strings class StringTest public static void main(string args[]) String x1 = "java"; String y1 = "java"; System.out.println("1.
HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1
HelloWorld Παύλος Εφραιμίδης Java Το πρόγραμμα HelloWorld 1 Το πρόγραμμα HelloWorld.java Σχόλια στη Java /** * The HelloWorld class */ class HelloWorld { public static void main(string[] args) { System.out.println("Hello
Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι
1 ΕΙΣΑΓΩΓΗ Η γλώσσα προγραµµατισµού Java είναι ισχυρά τυποποιηµένη (strongly typed), που σηµαίνει ότι κάθε µεταβλητή και κάθε έκφραση έχει κάποιο τύπο, ο οποίος πρέπει να είναι γνωστός κατά το χρόνο της
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java II
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java II HelloWorld.java class HelloWorld public static void main(string args[]) // print message System.out.println( Hello world! ); javac HelloWorld.java
Στόχοι και αντικείμενο ενότητας. Εκφράσεις. Η έννοια του τελεστή. #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Η έννοια του Τελεστή
Στόχοι και αντικείμενο ενότητας Η έννοια του Τελεστή #2.. Εισαγωγή στη C (Μέρος Δεύτερο) Εκφράσεις Προτεραιότητα Προσεταιριστικότητα Χρήση παρενθέσεων Μετατροπές Τύπων Υπονοούμενες και ρητές μετατροπές
Εισαγωγή στον Προγραμματισμό
Εισαγωγή στον Προγραμματισμό Ακαδημαϊκό έτος 2010/2011 Επιμέλεια Ξενοφών Βασιλάκος Περιεχόμενα Φροντιστηρίου A. Πρωταρχικοί τύποι B. Είσοδος/ Έξοδος C. Πράξεις 2 Δήλωση / Αρχικοποίηση / Εκχώρηση A. Πρωταρχικοί
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Στην άσκηση αυτή θα υλοποιήσετε μια κλάση RandomVector η οποία διαχειρίζεται ένα τυχαίο διάνυσμα ακεραίων το οποίο μπορεί να έχει οποιοδήποτε
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Αλφαριθμητικά θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 14: Γενικός Κώδικας (Generics) Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης
Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 13: Ταυτόχρονος Προγραμματισμός Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν
Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων
Αντικείµενα ηµιουργία και χρησιµοποίηση αντικειµένων ηµιουργία αντικειµένων Για να δηµιουργήσω ένα νέο αντικείµενο χρησιµοποιώ τον τελεστή new µε τοόνοµατηςκλάσηςαπότηνοποίαθέλωναδηµιουργήσωένααντικείµενο,
Αντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Μεταγλωττιστές. Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ
Μεταγλωττιστές Ενότητα 6: Λεκτική ανάλυση (Μέρος 2 ο ) Αγγελική Σγώρα Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
4 Συλλογές Αντικειμένων
4 Συλλογές Αντικειμένων Πώς χειριζόμαστε αντικείμενα σε ομάδες με επανάληψη Η Απαίτηση Συλλογών Αντικειμένων Πολλές εφαρμογές χρειάζονται πλήθος αντικειμένων: Κατάλογος βιβλίων Φοιτητολόγιο Πελατολόγιο
API: Applications Programming Interface
ÒØ Ñ ÒÓ ØÖ ÔÖÓ» Ñ ÒØ Ñ ÒÓ ØÖ ÔÖÓ Ö ÑÑ Ø Ñ ½ Ö Ø Ò Ô Ö Ø ÒØ Ñ ÒÛÒ ÒÒÓ ôòøóù ÔÖ Ñ Ø Ó ÑÓÙ Ì ÔÓ ÓÑ ÒÛÒ Ì µ (i) ÒÓÐÓØ ÑôÒ (ii)ôö Ü º Ð ØÖ Ò Ò ÖÛÔÓ ØÖ ÔÐ Ò Ø Ó Ó Ù Ø Ñ Ø ººº ½ºÈÖÛØ ÓÒØ Ø ÔÓ int double char
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα ΑΝΑΦΟΡΕΣ new Όπως είδαμε για να δημιουργήσουμε ένα αντικείμενο χρειάζεται να καλέσουμε τη new. Για
H κλάση ArrayList. Γιώργος Θάνος. Γραφείο Γ. Γκλαβάνη 37. Αντικει ενοστραφής Προγρα. ος όροφος
H κλάση ArrayList Γιώργος Θάνος Γραφείο Γ ος όροφος Γκλαβάνη 37 Εισαγωγικά Η κλάση ArrayList δίνει την δυνατότητα να αποθηκεύσουμε δεδομένα οποιουδήποτε τύπου σε μία δομή δεδομένων η οποία επιτρέπει τα
Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07
Ακαδ έτος 2007-2008 ΠΛΗΡΟΦΟΡΙΚΗ Ι Φερεντίνος 22/11/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με ΑΜ σε 3, 7, 8 & 9 22/11/07 Παράδειγμα με if/else if και user input: import javautil*; public class Grades public
Συστήματα Γνώσης. Πρακτικό Κομμάτι Μαθήματος Πρότυπα Γεγονότων. Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Τμήμα Πληροφορικής
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Πρακτικό Κομμάτι Μαθήματος Πρότυπα Γεγονότων Νίκος Βασιλειάδης, Αναπλ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας Στην άσκηση αυτή θα υλοποιήσετε μια κλάση Geometric η οποία διαχειρίζεται μια γεωμετρική ακολουθία ακεραίων
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008
ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008 Κατασκευαστές (Constructors) Ειδικός τύπος μεθόδων, οι οποίες: - είναι public και έχουν το ίδιο όνομα με αυτό της κλάσης - χρησιμοποιούνται για να αρχικοποιήσουν κάποιες
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Εισαγωγή στη C θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα)
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 11: Vectors (διανύσματα) Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 11 Vectors (διανύσματα) Τα vectors είναι δυναμικές δομές δεδομένων.
HY-252 Αντικειμενοστραφής Προγραμματισμός. Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης. Ημερομηνία Παράδοσης: 16/11/2012
HY-252 Αντικειμενοστραφής Προγραμματισμός Χειμερινό Εξάμηνο 2012 Διδάσκων: Χριστοφίδης Βασίλης 2 η Σειρά Ασκήσεων Ημερομηνία Παράδοσης: 16/11/2012 Παρακάτω σας δίνονται οι ορισμοί τεσσάρων διαφορετικών
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές
ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 2: Βασικές εντολές Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (Java) Ενότητα 2 Είσοδος από το πληκτρολόγιο: 1) Προσθήκη απαραίτητης βιβλιοθήκης
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #7
Τιμές βασικών τύπων και αναφορές Δεδομένα βασικών τύπων αποθηκεύονται κατ αξία ενώ τα αντικείμενα αποθηκεύονται κατ αναφορά: Διάλεξη #7: Συμβολοσειρές age = ; father = new (); name = ; Εισαγωγή στον Αντικειμενοστρεφή
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 4: Τύποι Δεδομένων και τελεστές Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Wrapper Classes Τοποθέτηση Δεδομένων Κλήση Μεθόδων. Παναγιώτης Σφέτσος, PhD
(Object Oriented Programming) Wrapper Classes Τοποθέτηση Δεδομένων Κλήση Μεθόδων PhD http://aetos.it.teithe.gr/~sfetsos/ sfetsos@it.teithe.gr Περιεχόμενα Μαθήματος Wrapper Classes Τοποθέτηση Δεδομένων
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #15
Οι βασικές έννοιες που θα καλύψουμε Ομαδοποίηση αντικειμένων Εισαγωγή στις συλλογές Γενικές κλάσεις Iterators Συλλογές (ειδικά την ArrayList) Συνεχίζουμε την αναφορά στο θέμα της αφαίρεσης (abstraction)
Δομημένος Προγραμματισμός
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Δομημένος Προγραμματισμός Ενότητα 2: Τύποι μεταβλητών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
2 Ορισμός Κλάσεων. Παράδειγμα: Μηχανή για Εισιτήρια. Δομή μιας Κλάσης. Ο Σκελετός της Κλάσης για τη Μηχανή. Ορισμός Πεδίων 4/3/2008
Παράδειγμα: Μηχανή για Εισιτήρια 2 Ορισμός Κλάσεων Σύνταξη κλάσης: πεδία, κατασκευαστές, μέθοδοι Ένας αυτόματος εκδότης εισιτηρίων είναι μια μηχανή που δέχεται χρήματα και εκδίδει ένα εισιτήριο. Εκδίδει
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Ιστορία Ο Patrick Naughton απειλεί την Sun ότι θα φύγει. Τον βάζουν σε μία ομάδα αποτελούμενη από τους James Gosling και Mike Sheridan για
Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011
Εισαγωγή στον Προγραµµατισµό Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011 Hello World /* Αρχείο hello.c * Εµφανίζει στην οθόνη το * µήνυµα hello world */ #include
I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.
I (JAVA) Ονοματεπώνυμο: Α. Μ.: + ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην. + 1 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 2/3) 2 ΦΥΛΛΟ ΑΠΑΝΤΗΣΕΩΝ (σελ. 3/3)
Περιεχόμενα. Πρόλογος 15
Περιεχόμενα Πρόλογος 15 1 Δημιουργία προγραμμάτων Java 25 Ορισμός βασικής ορολογίας προγραμματισμού 26 Σύγκριση διαδικαστικού και αντικειμενοστρεφούς προγραμματισμού 29 Διαδικαστικός προγραμματισμός 29
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές Αντικείμενα ως ορίσματα Μπορούμε να περνάμε αντικείμενα ως ορίσματα σε μία μέθοδο όπως οποιαδήποτε άλλη μεταβλητή
Εισαγωγή στον Προγραµµατισµό - Εβδοµάδα 7
Τιµές βασικών τύπων και αναφορές εδοµένα βασικών τύπων αποθηκεύονται κατ αξία ενώ τα αντικείµενα αποθηκεύονται κατ αναφορά: Εβδοµάδα 7: Συµβολοσειρές age = ; father = new (); name = ; Εισαγωγή στον Προγραµµατισµό,,,
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Βασικά Στοιχεία Το αλφάβητο της C Οι βασικοί τύποι της C Δηλώσεις μεταβλητών Είσοδος/Έξοδος Βασικές εντολές της C Αλφάβητο
Προγραμματισμός Η/Υ 1 (Εργαστήριο)
Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και αντικείμενα στην Java Strings Πίνακες
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και αντικείμενα στην Java Strings Πίνακες ΚΛΑΣΕΙΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΑ Κλάση Μια κλάση είναι μία αφηρημένη περιγραφή αντικειμένων με κοινά χαρακτηριστικά
Εισαγωγή στη JAVA. Εισαγωγή στη Java. Η Java είναι δημιούργημα της SUN MICROSYSTEMS.
Εισαγωγή στη JAVA Σύντομο Ιστορικό Η Java και το διαδίκτυο Το πρώτο απλό πρόγραμμα σε JAVA Μεταβλητές και σταθερές Παραστάσεις και εντολές Οι βασικοί τύποι δεδομένων στη Java Οι βασικοί Τελεστές στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Εισαγωγή στη Java Ιστορία Ο Patrick Naughton απειλεί την Sun ότι θα φύγει. Τον βάζουν σε μία ομάδα αποτελούμενη από τους James Gosling και Mike Sheridan για
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ. Εισαγωγή στη Python
ΠΑΝΕΠΙΣΤΗΜΙΟ AΙΓΑIΟΥ & ΑΕΙ ΠΕΙΡΑΙΑ Τ.Τ. Τμήματα Ναυτιλίας και Επιχειρηματικών Υπηρεσιών & Μηχ. Αυτοματισμού ΤΕ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στη Python Νικόλαος Ζ. Ζάχαρης Αναπληρωτής
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κλάσεις και Αντικείμενα Constructors, equals, tostring Constructors (Δημιουργοί) O Constructor είναι μια «μέθοδος» η οποία καλείται όταν δημιουργούμε το αντικείμενο