Βασικά της γλώσσας JAVA

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

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

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

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

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

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

Κλάσεις. Τροποποιητές, ιασυνδέσεις, Πακέτα. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΑΠΛΗ ΚΛΗΡΟΝΟΜΙΚΟΤΗΤΑ

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

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

Διάλεξη 3: Προγραμματισμός σε JAVA I. Διδάσκων: Παναγιώτης Ανδρέου

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

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

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

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

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

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

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

Βασικά Στοιχεία της Java

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

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

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

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

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

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

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

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

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

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

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

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

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

Βασικά Στοιχεία της Java

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

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

Ανάλυση Πληροφοριακών Συστημάτων. Εαρινό Εξάμηνο Lec08 09/04/2019 Διδάσκων: Γεώργιος Χρ. Μακρής

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

Πακέτα (Packages) Φωλιασμένες ή Εσωτερικές Κλάσεις (Inner Classes) Παναγιώτης Σφέτσος, PhD

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

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

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

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

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

Προγραµµατισµός ΙΙ Java 2

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

Αντικειμενοστρέφεια. Henri Matisse, Harmony in Red, Κωστής Σαγώνας Νίκος Παπασπύρου

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

Υπερφόρτωση (Overloading) Υπέρβαση (Overriding) - Upcasting Downcasting Final classes, methods

Κλάσεις. Τροποποιητές, Πακέτα, ιασυνδέσεις. Τροποποιητές ελέγχου προσπέλασης µεταβλητών και µεθόδων

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

Σύνθεση και Κληρονομικότητα

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

Εισαγωγή στον Προγραµµατισµό, Αντώνιος Συµβώνης, ΣΕΜΦΕ, ΕΜΠ,, Slide 6

Αρχές Τεχνολογίας Λογισμικού Εργαστήριο

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

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

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

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

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

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

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

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java III

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

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

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 9: Κληρονομικότητα (Inheritance)

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Πολυμορφισμός Αφηρημένες κλάσεις Interfaces (διεπαφές)

Κλάσεις και αντικείμενα #include <iostream.h<

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

Σύνθεση και Κληρονομικότητα

ΠΟΛΥΜΟΡΦΙΣΜΟΣ. 4.1 Κληρονομικότητα και Αρχή της Υποκατάστασης

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

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

CSD Univ. of Crete Φθινόπωρο Άσκηση 1 Εκφώνηση

3 Αλληλεπίδραση Αντικειμένων

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

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

API: Applications Programming Interface

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

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

5.1 ηµιουργία αντικειµένων

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Στοιχειώδεις Δοµές Δεδοµένων Δοµικά Στοιχεία και Πίνακες Κεφάλαιο 3 (3.1 και 3.2) Ε. Μαρκάκης Επικ. Καθηγητής

Αντικειμενοστρεφής Προγραμματισμός Διάλεξη 6 : ΠΙΝΑΚΕΣ

Wrapper Classes, Abstract Classes and Interfaces

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

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

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

Transcript:

17 η διάλεξη Π. Σταθοπούλου pstath@ece.upatras.gr ή pstath@upatras.gr Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7 Φροντιστήριο : ευτέρα 11πµ-12πµ ΗΛ4 Προηγούµενη ιάλεξη Βασικά της γλώσσας JAVA οµή ενός προγράµµατος JAVA Εργασία µε Import, Μέθοδοι, Σχόλια Λέξεις-Κλειδιά της JAVA, Προσδιοριστικά της JAVA Τύποι εδοµένων, δηλώσεις & απόδοση τιµών ιαχείριση ακολουθιών, Είσοδος & Έξοδος Πίνακες, Τελεστές Έλεγχος ροής 2 1

Σήµερα Κλάσης & Μέθοδοι της JAVA Ορισµός µιας κλάσης Καθορισµός πακέτου κλάσης ηµιουργία ιδιοτήτων κλάσης Απλή κλάση Μέθοδοι κλάσης Επίδειξη µεθόδων Υπερφόρτωση Μεθόδων 3 Πραγµατικός Κόσµος Κατηγορίες Αντικειµένων Αντικειµενοστρεφής Προγραµµατισµός Κλάσεις Φυσικά Αντικείµενα Αντικείµενα Χώρος = Οµάδα Φυσικών Αντικειµένων Πρόγραµµα = Οµάδα Αντικειµένων 4 2

Οι κλάσεις χρησιµοποιούνται ως πρότυπα για την δηµιουργία των αντικειµένων Αντικείµενο Ιδιότητες (Μεταβλητές) Συµπεριφορά (Μέθοδοι) Ιδιότητες: περιγράφουν το αντικείµενο και δείχνουν σε τι διαφέρει σε σχέση µε τα άλλα αντικείµενα. Συµπεριφορά : Είναι τα όσα κάνει ένα αντικείµενο. 5 Ιεραρχία κλάσεων Οι κλάσεις οργανώνονται σε ιεραρχίες κλάσεων µε µορφή πυραµίδας. Με αυτόν τον τρόπο επιτυγχάνεται η κληρονοµικότητα (inheritance) στον αντικειµενοστραφή προγραµµατισµό. Υπερκλάση της Β Κλάση Α Κλάση Β Κλάση Υποκλάση της Β Κλάση Γ 6 3

Ορισµός µιας κλάσης Class Η λέξη κλάση (Class) είναι µια λέξη-κλειδί που συναντάµε σε όλες τις αντικειµενοστρεφείς γλώσσες. Η κλάση λειτουργεί όπως η δοµή που έχουµε γνωρίσει στην γλώσσα C. Η κλάση επιτρέπει να δηµιουργούνται τύποι δεδοµένων όπως ο χρήστης επιθυµεί και µε τρόπο ανάλογο της δοµής. 7 Ορισµός µιας κλάσης Class struct time int hours; int minutes; int seconds; ; class time int hours; int minutes; int seconds; ; void print_time (struct time tm); struct time tm; void add_hours (struct time *tm); void add_minutes (struct time *tm); void add_seconds (struct time *tm); 8 4

Ορισµός µιας κλάσης Class struct time int hours; int minutes; int seconds; ; class time int hours; int minutes; int seconds; void print_time (struct time tm); void add_hours (struct time *tm); void add_minutes (struct time *tm); void add_seconds (struct time *tm); ; 9 Ορισµός µιας κλάσης Class class time int hours; int minutes; int seconds; void print_time (struct time tm); void print_time (struct time tm); void print_time (struct time tm); void print_time (struct time tm); ; time tm; time star_time; time end_time; Στιγµιότυπα struct time tm; struct time star_time; struct time end_time; αντικείµενα 10 5

Ορισµός µιας κλάσης Class Βασική διαφορά µεταξύ Κλάσης & οµής Ο τρόπος πρόσβασης στα δεδοµένα Για την δηµιουργία ενός αντικειµένου χρησιµοποιούµε µία κλάση δηλ. δηµιουργούµε ένα στιγµιότυπο µιας κλάσης. 11 Έλεγχος πρόσβασης στα δεδοµένα µιας κλάσης Σε µια κλάση καθορίζουµε την πρόσβαση των δεδοµένων από συναρτήσεις ή ρουτίνες µε τρεις τρόπους: public private Λέξεις - κλειδιά protected 12 6

Έλεγχος πρόσβασης στα δεδοµένα µιας κλάσης Ως προεπιλογή τα µέλη µιας κλάσης είναι private Σε αντίθεση µε τις δοµές η προεπιλογή είναι public ιαφορά Κλάσης/ οµής 13 Ορισµός µιας κλάσης Οι κλάσεις δεν είναι προγράµµατα. Χρησιµοποιούνται σε προγράµµατα. Η σύνταξη ορισµού µιας κλάσης είναι: [modifiers] class classname [extends SuperClassName] Όπου modifiers ελέγχουν 2 πράγµατα: εµβέλεια & κληρονοµικότητα 14 7

Λέξεις-κλειδιά για εµβέλεια Ορισµός µιας κλάσης [modifiers] class classname [extends SuperClassName] public private [no λέξη κλειδί] protected Κλάση προσπελάσιµη από όλους Κλάση προσπελάσιµη από κανένα Κλάση προσπελάσιµη µέσω του πακέτου της Κλάση προσπελάσιµη µέσω του πακέτου της και µέσα στις υποκλάσεις 15 Ορισµός µιας κλάσης [modifiers] class classname [extends SuperClassName] Λέξεις-κλειδιά για κληρονοµικότητα abstract final Η κλάση λειτουργεί ως υπερκλάση και σαν πρότυπο για άλλες κλάσεις, αλλά δεν µπορεί να χρησιµοποιηθεί µόνη της Η κλάση δεν µπορεί να χρησιµοποιηθεί ως υπερκλάση, αλλά µπορούµε να χρησιµοποιήσουµε στιγµιότυπα της κλάσης 16 8

Ορισµός µιας κλάσης [modifiers] class classname [extends SuperClassName] [extends SuperClassName] προαιρετική φράση συνδέεται µε την κληρονοµικότητα η κλάση βασίζεται σε µια υπαρκτή κλάση τύπου abstract (όχι final) βασίζεται σε κλάση που δηµιουργεί ο χρήστης ή σε κλάση της JAVA 17 Καθορισµός πακέτου Κάθε κλάση που δηµιουργείται ενός πακέτου αποτελεί µέρος Για να εντάξουµε την κλάση σε ένα πακέτο πρέπει να συντάξουµε την πρόταση package NameofPacage; Η παράλειψη της πρότασης τοποθετεί την κλάση σε προεπιλεγµένο ανώνυµο πακέτο Σωστή πρακτική η ένταξη των κλάσεων σε πακέτα Η χρήση των κλάσεων µέσω της import από τα πακέτα. 18 9

ηµιουργία ιδιοτήτων κλάσης Ιδιότητα µιας κλάσης είναι µια οµάδα εδοµένων & πληροφοριών ηλωµένες Μεταβλητές µέσα στην κλάση και ιαθέσιµες εκτός της κλάσης Η µεταβλητή-ιδιότητα δηλώνεται στην αρχή του ορισµού κλάσης 19 ηµιουργία ιδιοτήτων κλάσης Παράδειγµα σύνταξης: public class circle public double radius; public int anotherpropoerty; public byte yetanotherproperty; public MyClass anobjectproperty; radius µεταβλητή ιδιότητα τύπου double public String onelastproperty; AnObjectProperty µεταβλητή κλάση τύπου MyClass 20 10

δηµιουργία της κλάσης SimpleClass import java.lang.string; public class SimpleClass public double data; public String text; πακέτο της java lang.string Αρχείο SimpleClass.java Μεταβλητή-ιδιότητα data τύπου double Μεταβλητή-ιδιότητα text τύπου κλάσης 21 δηµιουργία της κλάσης ClassBasicsDemo = πρόγραµµα public class ClassBasicsDemo public static void main(string args[]) SimpleClass MyClass; Νέο αντικείµενο Μyclass τύπου SimpleClass MyClass = new SimpleClass(); Απόδοση τιµών στο MyClass.data = 1.2345; αντικείµενο Μyclass MyClass.text = "A class act."; System.out.print("The number stored in MyClass is "); System.out.println(MyClass.data); System.out.print("The text stored in MyClass is "); System.out.println(MyClass.text); 22 11

Μέθοδοι κλάσης Οι κλάσεις δεν περιέχουν µόνο ιδιότητες δηλαδή µεταβλητές Περιέχουν κυρίως και µεθόδους δηλαδή συναρτήσεις Η σύνταξη µιας για την δηµιουργία µιας µεθόδου [modifiers] type methodname (όρισµα 1,.. όρισµα n ] public για να είναι προσπελάσιµη έξω από την κλάση στην οποία ανήκει 23 Μέθοδοι κλάσης [modifiers] type methodname (όρισµα 1,.. όρισµα n ] private για να περιορίζεται η κλήση της και εκτέλεσή της µόνο στην κλάση στην οποία ανήκει Η λέξη κλειδί type καθορίζει τον τύπο της επιστρεφόµενης τιµής της µεθόδου. public long SomeMethod(int arg1,arg2).. return; public SomeMethod() 24 12

Παράδειγµα Μέθοδοι κλάσης import java.lang.string; Κλάση string 2 η Κλάση public class ClassWithMethods public void displaytext(string message, boolean newline) if (newline) System.out.println(message); 3 η Κλάση else System.out.print(message); public double halfof(double value) return value / 2; 4 η Κλάση public long sumof(long value1, long value2) long result; result = value1 + value2; return result; 5 η Κλάση 25 Παράδειγµα Μέθοδοι κλάσης import java.lang.double; import java.lang.long; Κλάση πρόγραµµα public class MethodsDemo public static void main(string args[]) ClassWithMethods The_Class; Κλάση main() String temp; double d; δήλωση της The_Class long l; The_Class = new ClassWithMethods(); δηµιουργία της The_Class The_Class.displayText("Using ClassWithMethods:", true); The_Class.displayText("Half of 99 is ", false); d = The_Class.halfOf(99); temp = Double.toString(d); διαχείρηση της The_Class The_Class.displayText(temp, true); The_Class.displayText("The sum of 12345 and 997766 is ", false); l = The_Class.sumOf(12345, 997766); temp = Long.toString(l); The_Class.displayText(temp, true); 26 13

Υπερφόρτωση Μεθόδων Η Υπερφόρτωση Μεθόδων είναι µέθοδος δηµιουργίας µεθόδων που έχουν το ίδιο όνοµα αλλά διαφεέρουν ως προς το πλήθος των ορισµάτων & ως προς τον τύπο των ορισµάτων Παράδειγµα µεθόδου sumof() δύο ορίσµατα τρία ορίσµατα τέσσερα ορίσµατα 27 public class Overloaded Υπερφόρτωση Μεθόδων public double sumof(double v1, double v2) return v1 + v2; public double sumof(double v1, double v2, double v3) return v1 + v2 + v3; public double sumof(double v1, double v2, double v3, double v4) return v1 + v2 + v3 + v4; 28 14

Υπερφόρτωση Μεθόδων import java.lang.string; import java.lang.double; public class OverloadDemo public static void main(string args[]) Overloaded MyClass; double d;.. MyClass = new Overloaded(); System.out.println("Adding two numbers: "); System.out.print(" The sum of 1.4 and 6.7 is "); d = MyClass.sumOf(1.4, 6.7); System.out.println(Double.toString(d)); System.out.println("Adding three numbers: "); System.out.print(" The sum of 1.4, 6.7, and 12.2 is "); d = MyClass.sumOf(1.4, 6.7, 12.2); System.out.println(Double.toString(d)); System.out.println("Adding four numbers: "); System.out.print(" The sum of 1.4, 6.7, 12.2, and -4.1 is "); d = MyClass.sumOf(1.4, 6.7, 12.2, -4.1); System.out.println(Double.toString(d)); 29 15