Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Τετάρτη 5-6 μμ.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Κληρονομικότητα. Εισαγωγή  Κληρονομικότητα (Inheritance) καλείται ο μηχανισμός με τον οποίο μία νέα κλάση που ονομάζεται παράγωγη (derived class) δημιουργείται.
Advertisements

7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Διαδικασία ανάπτυξης Προσδιορισμός απαιτήσεων Αρχιτεκτονικός Σχεδιασμός Λεπτομερής Σχεδιασμός Κωδικοποίηση Έλεγχος Παράδοση Συστήματος Λειτουργία - Συντήρηση.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Δημιουργός Μοντέλων & ModellingSpace
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΕΠΙΚΟΙΝΩΝΙΑ ΑΝΘΡΩΠΟΥ – ΜΗΧΑΝΗΣ Εαρινό Εξάμηνο 2007 Παρουσίαση Εργαλείου Ανάπτυξης JBuilder Τσουρού Σταυρούλα, ΑΜ 708 Μαδεμλής Ιωάννης, ΑΜ 669.
ΗΥ 252: Αντικειμενοστρεφής Προγραμματισμός csd. uoc
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Μήτρες (templates)  Μία μήτρα είναι ένα κομμάτι κώδικα που περιέχει παραμέτρους οι οποίες δέχονται ως τιμές τύπους δεδομένων.  Είναι ένας μηχανισμός.
Αντικειμενοστρεφής Προγραμματισμός, Αντώνιος Συμβώνης, Πανεπιστήμιο Ιωαννίνων, Slide 1 Week 13: Review Εβδομάδα 13: Ανασκόπηση.
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Στατικές μέθοδοι και μεταβλητές Εσωτερικές κλάσεις.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
ΣΥΝΑΡΤΗΣΕΙΣ.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΑΚΩΝ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Χειμερινό Εξάμηνο (Ε') - Κωδ. Μαθήματος:
Αντικειμενοστρεφής Προγραμματισμός ΚΛΑΣΕΙΣ ΙΙ. Υπερφόρτωση (Overloading) Όταν το ίδιο όνομα συνάρτησης (μεθόδου) χρησιμοποιείται για περισσότερες από.
Μοντέλα Συστημάτων Παρουσιάσεις των συστημάτων των οποίων οι απαιτήσεις αναλύονται.
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
Templates Standard Template Library (STL) Exceptions Μεταπτυχιακό Πρόγραμμα Σπουδών, Τμήμα Εφαρμοσμένης Πληροφορικής.
ΑΝΑΚΕΦΑΛΑΙΩΣΗ 26 Οκτωβρίου Αντικειμενοστρεφής Προγραμματισμός Ένα νέο προγραμματιστικό μοντέλο (paradigm) το οποίο στηρίζεται στις κλάσεις και τα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Κεφάλαιο 10 – Υποπρογράμματα
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Πολυμορφισμός.
Λειτουργικά Συστήματα Πολλών Χρηστών
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις.
Threads Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά η μία μετά.
ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Syntax Directed Translation and alpha Language.
Τεχνολογικό Εκπαιδευτικό Ίδρυμα Θεσσαλίας Αντικειμενοστραφής Προγραμματισμός Ι Ενότητα 9: Κληρονομικότητα. Διδάσκων: Νικόλαος Θ Λιόλιος, Καθηγητής. Τμήμα.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 5: Γνωριμία με το Λογισμικό
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Υλοποίηση εφαρμογών σε προγραμματιστικά περιβάλλοντα Κεφάλαιο 7.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ «Εισαγωγή στον οντοκεντρικό προγραμματισμό (βασική εισαγωγή στο περιβάλλον εργασίας)» Ρουσσάκης Ιωάννης, ΤΕΙ Κρήτης,
Πληροφορική 2 Γλώσσες Προγραμματισμού 1. Γλώσσες προγραμματσιμού  Επιτρέπουν την κωδικοποίηση των αλγορίθμων  Η εκτέλεση ενός προγράμματος θα πρέπει.
ΥΠΟΛΟΓΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ ΜΕΤΑΔΟΣΗΣ ΠΛΗΡΟΦΟΡΙΑΣ Αντικειμενοστραφής προγραμματισμός Web Site: ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ.
ΟΣΣ2 - 4 Δεκεμβρίου 2005 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Αντικειμενοστραφής Προγραμματισμός ΙΙ
ΤΙΤΛΟΣ ΕΡΓΑΣΙΑΣ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ανδρέου Βασίλης.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
Κλάσεις και αντικείμενα
Αντικειμενοστραφής Προγραμματισμός (Object Oriented Programming)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Γνωριμία με το Λογισμικό του Υπολογιστή
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Γλώσσα προγραμματισμού C++
Web Services στη C# Εργαστήριο 3
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Εισαγωγή στη Java Χαρακτηριστικά της Java Εργαλεία της Java
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Εισαγωγή στον Προγραμματισμό με Python, ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ Εισαγωγή στον Προγραμματισμό με Python Εβδομάδα 1: Βασικά στοιχεία.
Προχωρημένος Προγραμματισμός
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Εφαρμογή Μεθοδολογίας ICONIX
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΥΠΟΔΕΙΓΜΑΤΑ  Προγραμματιστικό Υπόδειγμα: Είναι ένα πρότυπο ανάπτυξης προγραμμάτων, δηλ. μια καθορισμένη μεθοδολογία με βάση την οποία.
Εισαγωγή στη Java (Μέρος Α’)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Μεταγράφημα παρουσίασης:

Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ Ώρες Γραφείου: Τετάρτη 5-6 μμ

Αντικειμενοστρεφής Προγραμματισμός Στην πληροφορική αντικειμενοστρεφή προγραμματισμό (object-oriented programming), ονομάζουμε ένα προγραμματιστικό υπόδειγμα που αντικατέστησε το παραδοσιακό υπόδειγμα του δομημένου προγραμματισμού. Πρόκειται για μία μεθοδολογία ανάπτυξης προγραμμάτων, όπου ο χειρισμός σχετιζόμενων δεδομένων και των διαδικασιών που επενεργούν σε αυτά γίνεται από κοινού, μέσω μίας δομής δεδομένων που τα περιβάλλει ως αυτόνομη οντότητα με ταυτότητα και δικά της χαρακτηριστικά. Τι είναι;

Αντικειμενοστρεφής Προγραμματισμός Αυτή η δομή δεδομένων καλείται αντικείμενο και αποτελεί πραγματικό στιγμιότυπο στη μνήμη ενός σύνθετου, και πιθανώς οριζόμενου από τον χρήστη, τύπου δεδομένων ονόματι κλάση. Η κλάση προδιαγράφει τόσο δεδομένα όσο και τις διαδικασίες οι οποίες επιδρούν επάνω τους Παραδείγματα γλωσσών προγραμματισμού: –Java –C++ –C# Τι είναι;

Αντικειμενοστρεφής Προγραμματισμός Ενθυλάκωση (Encapsulation) Κληρονομικότητα (Inheritance) Πολυμορφισμός (Polymorphism) Υπερφόρτωση (Overload) Υποσκέλιση (Override) Λογική Αφαίρεσης (Abstraction) Βασικά χαρακτηριστικά

Αντικειμενοστρεφής Προγραμματισμός Καλείται η ιδιότητα που προσφέρουν οι κλάσεις να «κρύβουν» τα ιδιωτικά δεδομένα τους από το υπόλοιπο πρόγραμμα και να εξασφαλίζουν πως μόνο μέσω των δημόσιων μεθόδων τους θα μπορούν αυτά να προσπελαστούν. Αυτή η τακτική παρουσιάζει μόνο οφέλη καθώς εξαναγκάζει κάθε εξωτερικό πρόγραμμα να φιλτράρει το χειρισμό που επιθυμεί να κάνει στα πεδία μίας κλάσης μέσω των ελέγχων που μπορούν να περιέχονται στις δημόσιες μεθόδους της κλάσης. Ενθυλάκωση (Encapsulation)

Αντικειμενοστρεφής Προγραμματισμός Ενθυλάκωση (Encapsulation) Παράδειγμα:

Αντικειμενοστρεφής Προγραμματισμός Ονομάζεται η ιδιότητα των κλάσεων να επεκτείνονται σε νέες κλάσεις, ρητά δηλωμένες ως κληρονόμους (υποκλάσεις ή 'θυγατρικές κλάσεις'), οι οποίες μπορούν να επαναχρησιμοποιήσουν τις μεταβιβάσιμες μεθόδους και ιδιότητες της γονικής τους κλάσης αλλά και να προσθέσουν δικές τους. Κληρονομικότητα (Inheritance)

Αντικειμενοστρεφής Προγραμματισμός Κληρονομικότητα (Inheritance) Παράδειγμα:

Αντικειμενοστρεφής Προγραμματισμός Ονομάζεται η παροχή μιας ενιαίας διεπαφής σε κλάσεις διαφορετικών τύπων. Επιτρέπει το χειρισμό τιμών διαφορετικών τύπων δεδομένων με χρήση μιας ομοιόμορφης διεπαφής. Η έννοια του παραμετρικού πολυμορφισμού εφαρμόζεται τόσο στους τύπους δεδομένων, όσο και στις συναρτήσεις (υπερφόρτωση). Πολυμορφισμός (Polymorphism)

Αντικειμενοστρεφής Προγραμματισμός Πολυμορφισμός (Polymorphism) Παράδειγμα:

Αντικειμενοστρεφής Προγραμματισμός Ονομάζεται η κατάσταση κατά την οποία υπάρχουν, στην ίδια ή σε διαφορετικές κλάσεις, μέθοδοι με το ίδιο όνομα και πιθανώς διαφορετικά ορίσματα. Αν πρόκειται για μεθόδους της ίδιας κλάσης διαφοροποιούνται μόνο από τις διαφορές τους στα ορίσματα και στον τύπο επιστροφής. Υπερφόρτωση (Overload)

Αντικειμενοστρεφής Προγραμματισμός Υπερφόρτωση (Overload) Παράδειγμα:

Αντικειμενοστρεφής Προγραμματισμός Ονομάζεται η κατάσταση κατά την οποία μία θυγατρική κλάση και η γονική της έχουν μία μέθοδο ομώνυμη και με τα ίδια ορίσματα. Χάρη στη δυνατότητα του πολυμορφισμού ο μεταγλωττιστής «ξέρει» πότε να καλέσει ποια μέθοδο, βασισμένος στον τύπο του τρέχοντος αντικειμένου. Δηλαδή πολυμορφισμός είναι η δυνατότητα των αντικειμενοστρεφών μεταγλωττιστών να αποφασίζουν δυναμικά ποια είναι η κατάλληλη να κληθεί μέθοδος σε συνθήκες υποσκέλισης. Υποσκέλιση (Override)

Αντικειμενοστρεφής Προγραμματισμός Υποσκέλιση (Override) Παράδειγμα:

Αντικειμενοστρεφής Προγραμματισμός Η αφαίρεση είναι η έννοια που περιγράφει κάτι με πιο απλούς όρους. Η ίδια λογική υπάρχει και στον αντικειμενοστρεφή προγραμματισμό χρησιμοποιώντας ιεραρχία κληρονομικότητας. Έτσι, ορισμένα αφαιρετικά μοντέλα βρίσκονται στην κορυφή της ιεραρχίας και κατεβαίνοντας υπάρχουν πιο συγκεκριμένα μοντέλα. Στο πιο αφηρημένο επίπεδο δεν υπάρχουν λεπτομέρειες εφαρμογής, οι οποίες προστίθενται καθώς η αφαίρεση μειώνεται. Λογική Αφαίρεσης (Abstraction)

.Net framework Είναι μια πλατφόρμα λογισμικού που αναπτύχθηκε από την Microsoft και τρέχει κυρίως σε Windows περιβάλλοντα. Περιλαμβάνει ένα μεγάλο σύνολο από βιβλιοθήκες, γνωστό ως Framework Class Library (FCL), που περιέχει έτοιμα εργαλεία (components) για την ευκολότερη ανάπτυξη εφαρμογών. –Μερικά παραδείγματα είναι: Εργαλεία κατασκευής διεπαφών χρήστη (user interfaces), εργαλεία πρόσβασης σε βάσεις δεδομένων, εργαλεία κρυπτογράφησης, εργαλεία σύνδεσης σε δίκτυα, εργαλεία ανάπτυξης εφαρμογών διαδικτύου, κ.α. Τι είναι;

.Net framework Προσφέρει γλωσσική διαλειτουργικότητα (κάθε γλώσσα μπορεί να χρησιμοποιήσει κώδικα γραμμένο σε άλλη γλώσσα). Τα προγράμματα που είναι γραμμένα στο.Net framework εκτελούνται σε ένα προγραμματιστικό περιβάλλον, γνωστό ως Common Language Runtime (CLR), όπου είναι μια εικονική μηχανή εκτέλεσης εφαρμογών που προσφέρει υπηρεσίες όπως ασφάλεια, διαχείριση μνήμης και διαχείριση εξαιρέσεων. Το FCL και το CLR αποτελούν το.Net framework. Τι είναι;

.Net framework Γραφική απεικόνιση

Η ιστορία της C# Στα τέλη της δεκαετίας του '70 το μέγεθος των έργων που υλοποιούσαν οι προγραμματιστές με τη C έφτασε στα όρια του. Έτσι εμφανίστηκε ένας νέος τρόπος προγραμματισμού, ο αντικειμενοστρεφής προγραμματισμός (Object Oriented Programming- OOP) και μία νέα γλώσσα, η αντικειμενοστρεφής γλώσσα C++. Από τη C στη C++

Η ιστορία της C# Λόγω της μεγάλης διάδοσης του internet οι προγραμματιστές επιθυμούσαν να μεταφέρουν τον κώδικά τους σε διαφορετικά περιβάλλοντα. Αυτό δεν μπορούσε να γίνει με τη C++, οπότε δημιουργήθηκε η αντικειμενοστρεφής γλώσσα προγραμματισμού Java, η οποία έλυνε 2 βασικά προβλήματα. Από τη C++ στη Java

Η ιστορία της C# Βασικά προβλήματα που επιλύθηκαν: Μεταφερσιμότητα: Mετάφραση του πηγαίου κώδικα στην ενδιάμεση γλώσσα bytecode και στη συνέχεια εκτέλεση αυτού του κώδικα στην εικονική μηχανή της Java (Java Virtual Machine - JVM). Έτσι, ο κώδικας μπορούσε να εκτελεστεί σε οποιαδήποτε περιβάλλον διέθετε εικονική μηχανή Java. Ασφάλεια: Επειδή ο JVM τρέχει τον κώδικα bytecode, έχει τον πλήρη έλεγχο του προγράμματος έτσι ώστε να μπορεί να αποτρέψει οποιαδήποτε κακόβουλη ενέργεια ενός Java προγράμματος. Από τη C++ στη Java

Η ιστορία της C# Αν και η Java έλυσε 2 βασικά προβλήματα, της λείπουν ακόμη 2 χαρακτηριστικά: –Γλωσσική διαλειτουργικότητα: Για τη δημιουργία μεγάλων κατανεμημένων συστημάτων λογισμικού χρειάζεται ο κώδικας που παράγεται από μία γλώσσα να συνεργάζεται με κώδικα που παράγει μια δεύτερη γλώσσα. –Πλήρης ενσωμάτωση με τα Windows: Η java, αν και μπορεί να εκτελεστεί κάτω από τα Windows, δεν συνδέεται στενά με αυτά, σε αντίθεση με τη C#. Από τη C++ στη C#

Η δημιουργία της C# Σύνταξη –Κοινή όπως { } και ; –αλλά και διαφορές όπως. αντί ->. Λέξεις κλειδιά –If, else, switch, case, for, while, class Τελεστές –+, -, *, /, =, ==, !=, ++, -- Χαρακτηριστικά της C που κληρονόμησε η C#

Η δημιουργία της C# Μεταφερτός κώδικας Εκτέλεση προγραμμάτων σε ασφαλές περιβάλλον Αντικειμενοστρεφής προγραμματισμός –Κλάσεις – Classes –Πεδία και Μέθοδοι – Fields and Methods –Απλή κληρονομικότητα – Single Inheritance –Εξαιρέσεις – Exceptions –Διεπαφές – Interfaces Σχέση Java και C#

Δημιουργία του πρώτου προγράμματος σε C# /* HelloWorld.cs */ using System; class HelloWorld { // Κάθε πρόγραμμα στη C# ξεκινά με την κλήση της μεθόδου Main() static void Main(string[] args) { Console.WriteLine("Hello World!"); }