9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016

Σχετικά έγγραφα
Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, :00-10:00 π.μ.

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

Καλές επιτυχίες παιδιά στα υπόλοιπα μαθήματά σας και καλές γιορτές!!!!

Κατασκευαστές. Μέθοδοι Κατασκευής (Constructors).

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors

I (JAVA) Ονοματεπώνυμο: Α. Μ.: Δώστε τις απαντήσεις σας ΕΔΩ: Απαντήσεις στις σελίδες των ερωτήσεων ΔΕΝ θα ληφθούν υπ όψην.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

Αντικειμενοστρεφής Προγραμματισμός

Το πρόγραμμα HelloWorld.java. HelloWorld. Κλάσεις και Αντικείμενα (2) Ορισμός μιας Κλάσης (1) Παύλος Εφραιμίδης pefraimi <at> ee.duth.

1 ΕΙΣΑΓΩΓΗ. Πρωταρχικοί Τύποι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Αναφορές

Αντικειμενοστρεφής Προγραμματισμός

Αντικειµενοστραφής Προγραµµατισµός

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Παναγιώτης Σφέτσος

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 26/2/2008

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors Υπερφόρτωση Αντικείμενα ως παράμετροι

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #2 ο : Ανατομία προγραμμάτων εφαρμογών, η

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Constructors, equals, tostring

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 11/3/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα με πίνακες. Constructors. Υλοποίηση Στοίβας

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 18/3/2008

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπερφόρτωση Αντικείμενα σαν ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Μνήμης Αντικείμενα ως ορίσματα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα Εισαγωγή στις αναφορές

2.1 Αντικειµενοστρεφής προγραµµατισµός

HelloWorld. Παύλος Εφραιμίδης. Java Το πρόγραμμα HelloWorld 1

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αντικείμενα ως ορίσματα

Αντικειμενοστρεφής Προγραμματισμός

Αντικειμενοστραφής Προγραμματισμός I (5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 2 : ΜΕΤΑΒΛΗΤΕΣ ΤΕΛΕΣΤΕΣ & ΕΚΦΡΑΣΕΙΣ ΕΛΕΓΧΟΣ ΡΟΗΣ

Αντικειµενοστρεφής Προγραµµατισµός

Κληρονομικότητα. Παύλος Εφραιμίδης pefraimi <at> ee.duth.gr. Java Κληρονομικότητα 1

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Στοίβα και Σωρός Αναφορές-Παράμετροι

Αντικειμενοστραφής Προγραμματισμός I(5 ο εξ) Εργαστήριο #4 ο : Αποσφαλμάτωση (debugging), μετατροπές

Εαρινό. Ύλη εργαστηρίου, Ασκήσεις Java

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Copy Constructor Deep and Shallow Copies

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 4 : CLASSES

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Αντικειμενοστρεφής Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 25/10/07

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 6/12/07

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 5: Κατασκευαστές (Constructors)

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Κλάσεις και Αντικείµενα

ΕΠΛ131 Αρχές Προγραμματισμού

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Constructors, equals, tostring Αντικείμενα ως παράμετροι

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα

Οντοκεντρικός Προγραμματισμός

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργώντας δικές μας Κλάσεις και Αντικείμενα

ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Αλγοριθμική και Προγραμματισμός. Περισσότερα για τις Κλάσεις, τα Αντικείμενα και τις Μεθόδους

Mεταβλητές (variables) και Σταθερές (constants)

Παύλος Εφραιµίδης. Java. Κληρονοµικότητα

Οντοκεντρικός Προγραμματισμός

Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 501: Προχωρημένη Ανάλυση Κατασκευών με Η/Υ. Ενδιάμεση Πρόοδος. 6:00-8:00 μ. μ.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 8/4/2008. Πίνακες (Arrays)

Αντικείμενα στη Java. Παύλος Εφραιμίδης. Java Αντικείμενα στη Java 1

Οντοκεντρικός Προγραμματισμός

ΘΕΜΑΤΑ ΕΞΕΤΑΣΕΩΝ ΟΜΑΔΑ Α

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Υπάρχουσες κλάσεις και αντικείμενα στην Java Strings Wrapper Classes Δομές

Αντικείμενα (Objects) στην Java. Αντικείμενα στη Java. Δημιουργία Αντικειμένων. Δηλώσεις Μεταβλητών (2) Ο τελεστής new (1)

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΕΙΣ ΓΛΩΣΣΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ιανουάριος 2007 Οι απαντήσεις να είναι καθαρογραμμένες με ευδιάκριτους όλους του χαρακτήρες.

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Κλάσεις και Αντικείμενα Μέθοδοι

Εισαγωγή στον Προγραμματισμό

Κλάσεις. Κατηγορίες Αντικειµένων. Κλάσεις. Φυσικά Αντικείµενα. Χώρος = Οµάδα Φυσικών Αντικειµένων. Πρόγραµµα = Οµάδα

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Μαθήματα από τα εργαστήρια

Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 16-17: Πολυμορφισμός (Polymorphism) Διδάσκων: Παναγιώτης Ανδρέου

2.1. Εντολές Σχόλια Τύποι Δεδομένων

Προγραμματισμός Ι. Κλάσεις και Αντικείμενα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εισαγωγή σε αντικειμενοστραφή concepts. Και λίγη C#

public void printstatement() { System.out.println("Employee: " + name + " with salary: " + salary);

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων Παράδειγμα: Τμήμα πανεπιστημίου

Αντικειμενοστραφής Προγραμματισμός

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 4/3/2008

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Εισαγωγή στη γλώσσα προγραμματισμού C++

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πίνακες Κλάσεις και Αντικείμενα

Προγραμματισμός 2 Σημειώσεις εργαστηρίου

Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό Διάλεξη #2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΕΠΛ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΕΘΟΔΩΝ ΕΠΙΛΥΣΗΣ ΠΡΟΒΛΗΜΑΤΩΝ

Κλάσεις στη Java. Στοίβα - Stack. Δήλωση της κλάσης. ΗκλάσηVector της Java. Ηκλάση Stack

Μέθοδοι. Μέθοδοι ηµιουργοί, Υπερφόρτωση και Υπέρβαση Μεθόδων

ΠΛΗΡΟΦΟΡΙΚΗ ΙΙ (JAVA) 1/4/2008

Κληρονομικότητα. Κληρονομικότητα (inheritance) είναι ο τρόπος µε τον οποίο μία τάξη μπορεί να κληρονομήσει ιδιότητες και συμπεριφορά από άλλες τάξεις.

Αντικείµενα. ηµιουργία και χρησιµοποίηση αντικειµένων. ηµιουργία αντικειµένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Έλεγχος ισότητας String Interning Αποαναφοροποίηση - dereferencing

Ειδικά Θέματα Προγραμματισμού

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Σύνθεση αντικειμένων

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Αναφορές Αντικείμενα ως ορίσματα

Μάθημα 1 [3/11/2015].

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Δημιουργία Κλάσεων και Αντικειμένων Tοπικές μεταβλητές To αντικείμενο this Accessor, Mutator μέθοδοι

Transcript:

Πανεπιστήμιο Κύπρου Πολυτεχνική Σχολή Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 Ακαδημαϊκό Έτος 2016-17, Χειμερινό Εξάμηνο 1 η Ενδιάμεση Πρόοδος 9:00-10:00 π.μ. (60 λεπτά) Παρασκευή, 14 Οκτωβρίου, 2016 Όνομα: Επίθετο: Αριθμός Ταυτότητας: E-mail: Τηλέφωνο: Πρόβλημα Μονάδες Βαθμός 1 5 2 12 3 9 4 8 5 18 6 18 Τελικός Βαθμός: 7 30 ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016, 1/12

Άσκηση 1: [5 μονάδες] Εξηγήστε τη διαδικασία δημιουργίας, μεταγλώττισης και εκτέλεσης ενός απλού προγράμματος Java, χρησιμοποιώντας ένα παράθυρο (γραμμή) εντολών (και όχι κάποιο IDE, όπως το NetBeans), αναφέροντας τα ονόματα των αρχείων που δημιουργούνται και τι ακριβώς περιέχουν. Πέτρος Κωμοδρόμος, 2016, Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος: 2/12

Άσκηση 2: [12 μονάδες] ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 - Ενδιάμεση Εξέταση Α. Λαμβάνοντας υπόψη τους πιο κάτω ορισμούς, ποια/ες πρόταση/εις που ακολουθεί είναι ορθή/ές; char x4 = a ; int x3 = 33; float x2 = 2.2; double x1 = 0.111; (α) Η μικτή έκφραση: x1 x2 είναι τύπου float (β) (γ) (δ) Η μικτή έκφραση: 5.5 * x2 είναι τύπου float Η μικτή έκφραση: 3 * x1 * x3 είναι τύπου int Η μικτή έκφραση: 1.0 * x1 * x2 * x3 είναι τύπου double B. Λαμβάνοντας υπόψη τους πιο κάτω ορισμούς, ποια εντολή που ακολουθεί είναι λάθος; double x1 = 15; float x2 = 17; int x3 = 13/4; (α) x1 = x2 = x3 ; (β) x2 =0.5 * x1; (γ) x2 = x3 = 1; (δ) x1 = 5.5 * x2; Γ. Με τι ισούται η πιο κάτω αριθμητική έκφραση; 7 + 1+9 / 5 / 2 + 3 * 2/3 + 7/6 ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016, 3/12

Άσκηση 3: [9 μονάδες] ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 - Ενδιάμεση Εξέταση Α. Μετά την εκτέλεση των πιο κάτω εντολών με τι ισούται οι μεταβλητές x, y και z; int x = 2; int y = ++x ; int z ; z = x++ ; x += y++ ; y += z ; x -= 10 ; x y z Πέτρος Κωμοδρόμος, 2016, Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος: 4/12

Άσκηση 4: [8 μονάδες] Ποιο είναι το αποτέλεσμα (output) από την εκτέλεση της μεθόδου main() της πιο κάτω τάξης; public class Midterm1_3 public static void main(string testabc[]) int x = 17; System.out.println(" " + x); changey(x); System.out.println(" " + x); changex(x); System.out.println(" " + x); changex(1.0*x); System.out.println(" " + x); static void changex(int x) x *= 2; static void changex(double x) x *= 2; static void changey(int y) y *= 3; ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016, 5/12

Πέτρος Κωμοδρόμος, 2016, Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος: 6/12

Άσκηση 5: [18 μονάδες] ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 - Ενδιάμεση Εξέταση Έχοντας την τάξη ComplexNumber, η οποία έχει δύο μέλη δεδομένων την μεταβλητή real και την μεταβλητή imaginary, οι οποίες χρησιμοποιούνται αντίστοιχα για την αποθήκευση του πραγματικού και του φανταστικού μέρους ενός μιγαδικού αριθμού, ζητείται όπως: (α) Γράψετε τον ορισμό της τάξης ComplexNumber με τα πιο πάνω μέλη, real και imaginary, στα οποία πρόσβαση πρέπει να περιορίζεται μόνο εντός της τάξης. (β) Τι ακριβώς κάνει η πιο κάτω εντολή; ComplexNumber c ; (β) Τι ακριβώς κάνει η επόμενη εντολή; c = new ComplexNumber(); (γ) Τι ακριβώς κάνει η επόμενη εντολή; e = d = new ComplexNumber(); ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016, 7/12

Άσκηση 6: [18 μονάδες] ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 - Ενδιάμεση Εξέταση Ποιο είναι το αποτέλεσμα (output) από την εκτέλεση της μεθόδου main() της πιο κάτω τάξης; class Point double x=11; double y=22; public String tostring() return "x=" + x + " y=" + y ; class TestPoint public static void main(string a[]) Point x = new Point(); System.out.println("1. x: " + x); fun(x); static void fun(point y) int x = 77; System.out.println("2. x: " + x); System.out.println("3. y: " + y); System.out.println("4. y.x= " + y.x); System.out.println("5. y.y= " + y.y); Πέτρος Κωμοδρόμος, 2016, Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος: 8/12

ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016, 9/12

Άσκηση 7: [30 μονάδες] ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016 - Ενδιάμεση Εξέταση Δίνεται πιο κάτω ο ορισμός μίας τάξης που μπορεί να χρησιμοποιηθεί για μιγαδικούς αριθμούς (α + β * i), από τον οποίο λείπουν οι ορισμοί κάποιων μεθόδων και τις οποίες θα πρέπει να προμηθεύσετε. (α) Συγκεκριμένα, ζητείται να γράψετε τα σώματα των μεθόδων κατασκευής αντικειμένων (constructors) και να επαναορίσετε (override) τη μέθοδο tostring() που κληρονομείται από την κλάση Object ώστε να επιστρέφει το μιγαδικό αριθμό σαν String στη μορφή (α + β * i). (β) Επίσης, ζητείται να αναπτύξετε τη μέθοδο main(), σε μια άλλη τάξη, με την οποία θα δοκιμαστεί η αναπτυσσόμενη τάξη, όπου θα πρέπει να οριστεί ένας πίνακας αναφορών τύπου ComplexNumber με το όνομα cn και με 3 στοιχεία, ως εξής: (i) Το 1 ο στοιχείο να είναι ένα αντικείμενο με real ίσο με -2.5 και imaginary ίσο με 22.3. (ii) Tο 2 ο στοιχείο να δημιουργηθεί έτσι ώστε να έχει τιμές ίσες με αυτές του 1 ου στοιχείου του πίνακα. (iii) Το 3 ο στοιχείο να δημιουργηθεί με τον non-argument constructor. class ComplexNumber private double real; private double imaginary; private static numbercomplexnumbers=0; ComplexNumber() // Πρέπει να κληθεί ο επόμενος constructor για // να μηδενίσει τα δύο μέλη του αντικειμένου ComplexNumber(double real, double imaginary) // Πρέπει να δοθούν οι τιμές των παραμέτρων // στα αντίστοιχα μέλη του υπό δημιουργία // αντικειμένου και να τροποποιηθεί //κατάλληλα το στατικό μέλος numbercomplexnumbers Πέτρος Κωμοδρόμος, 2016, Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος: 10/12

ComplexNumber(MyComplexNumber c) // Πρέπει να δοθούν οι τιμές των μελών του // c στα αντίστοιχα μέλη του υπό κατασκευή // καλώντας τον πιο πάνω constructor για να // ορίσει τα δύο μέλη του αντικειμένου public String tostring() // Πρέπει να επιστραφεί ένα String με τη // μορφή α + β * i που να αντιστοιχεί στο αντικείμενο. ΠΠΜ 401: Ανάπτυξη Λογισμικού Εφαρμογών Μηχανικής, 2016, 11/12

/* Δημιουργήστε μια τάξη με τη μέθοδο main(), με την οποία θα δοκιμαστεί η τάξη ComplexNumber, όπου θα πρέπει να οριστεί ένας πίνακας αναφορών τύπου ComplexNumber με το όνομα cn και με 3 στοιχεία, ως εξής: (i) Το 1 ο στοιχείο να είναι ένα αντικείμενο με real ίσο με -2.5 και imaginary ίσο με 22.3. (ii) Tο 2 ο στοιχείο να δημιουργηθεί έτσι ώστε να έχει τιμές ίσες με αυτές του 1 ου στοιχείου του πίνακα. (iii) Το 3 ο στοιχείο να δημιουργηθεί με τον non-argument constructor. */ Πέτρος Κωμοδρόμος, 2016, Τμήμα Πολιτικών Μηχανικών και Μηχανικών Περιβάλλοντος: 12/12