Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.
| Επόμενη αναθεώρηση | Προηγούμενη αναθεώρηση | ||
|
oopython [2010/07/28 09:38] chiossif δημιουργήθηκε |
oopython [2023/02/08 12:09] (τρέχουσα) chiossif [1ο Παράδειγμα] |
||
|---|---|---|---|
| Γραμμή 1: | Γραμμή 1: | ||
| - | +----------------------------------------------+ | + | ===== Αντικειμενοστραφής προγραμματισμός σε Python |
| - | | Αντικειμενοστραφής προγραμματισμός σε Python | + | |
| - | +----------------------------------------------+ | + | |
| - | Εισαγωγή | + | ==== Εισαγωγή |
| - | -------- | + | |
| Η python είναι μια γλώσσα αντικειμενοστραφούς προγραμματισμού. Αντικειμενοστραφής προγραμματισμός είναι ο προγραμματισμός με την χρήση τάξεων - κατηγοριών - κλάσεων και των εμφανίσεών τους των αντικειμένων. Η ιστορική αναδρομή η οποία ακολουθεί βοηθάει στην κατανόηση αυτών των όρων (αν οι όροι σας είναι οικείοι προχωρήστε στα παραδείγματα εκμάθησης). | Η python είναι μια γλώσσα αντικειμενοστραφούς προγραμματισμού. Αντικειμενοστραφής προγραμματισμός είναι ο προγραμματισμός με την χρήση τάξεων - κατηγοριών - κλάσεων και των εμφανίσεών τους των αντικειμένων. Η ιστορική αναδρομή η οποία ακολουθεί βοηθάει στην κατανόηση αυτών των όρων (αν οι όροι σας είναι οικείοι προχωρήστε στα παραδείγματα εκμάθησης). | ||
| - | Ιστορική αναδρομή στις μεθόδους προγραμματισμού | + | ==== Ιστορική αναδρομή στις μεθόδους προγραμματισμού |
| - | ----------------------------------------------- | + | |
| - | Στην αρχή (έως την δεκαετία του 1960) κυριαρχούσε ο γραμμικός τρόπος προγραμματισμού (http:// | + | Στην αρχή (έως την δεκαετία του 1960) κυριαρχούσε ο γραμμικός τρόπος προγραμματισμού ( http:// |
| - | Την δεκαετία του 1970 επικράτησε ο δομημένος προγραμματισμός (http:// | + | |
| - | Τέλος από την δεκαετία του | + | Την δεκαετία του |
| - | 1ο Παράδειγμα αντικειμενοστραφούς προγραμματισμού με Python: | + | Τέλος από την δεκαετία του 1990 και μετά άρχισε να κυριαρχεί ο αντικειμενοστραφής προγραμματισμός ( http:// |
| - | ------------------------------------------------------------ | + | |
| - | Ορισμός κατηγοριών με χαρακτηριστικά και μεθόδους. Δήλωση αντικειμένων και χρήση τους. | + | ==== 1ο Παράδειγμα ==== |
| - | -------------------------------------------------------------------------------------- | + | |
| + | == Ορισμός κατηγοριών με χαρακτηριστικά και μεθόδους. Δήλωση αντικειμένων και χρήση τους. == | ||
| Έστω ότι έχουμε να δουλέψουμε με κύκλους. Για να δούμε ένα παράδειγμα: | Έστω ότι έχουμε να δουλέψουμε με κύκλους. Για να δούμε ένα παράδειγμα: | ||
| - | # | + | |
| - | # -*- coding: UTF-8 -*- | + | # -*- coding: UTF-8 -*- |
| - | + | #Filename: cycle.py - 1ο/3 μέρη - 1η έκδοση | |
| - | #Filename: cycle.py - 1ο/3 μέρη - 1η έκδοση | + | |
| - | class cycle: | + | from math import pi # θα το χρειαστούμε στον υπολογισμό περιμέτρου |
| - | ''' | + | |
| + | | ||
| + | ''' | ||
| def __init__(self, | def __init__(self, | ||
| self.rad=r | self.rad=r | ||
| Γραμμή 44: | Γραμμή 40: | ||
| Για να δούμε και 2-3 εντολές χρήσης: | Για να δούμε και 2-3 εντολές χρήσης: | ||
| - | #Filename: cycle.py - 2ο/3 μέρη - 1η έκδοση | + | |
| - | + | a=cycle(5); | |
| - | a=cycle(5); | + | print(' |
| - | print(' | + | print(' |
| - | print(' | + | |
| Εδώ ορίζουμε τον κύκλο a με ακτίνα 5. | Εδώ ορίζουμε τον κύκλο a με ακτίνα 5. | ||
| Εμφανίζουμε στην οθόνη την ακτίνα και την περίμετρό του. | Εμφανίζουμε στην οθόνη την ακτίνα και την περίμετρό του. | ||
| - | #Filename: cycle.py - 3ο/3 μέρη - 1η έκδοση | + | |
| - | + | b=cycle(); | |
| - | b=cycle(); | + | print(' |
| - | print(' | + | print(' |
| - | print(' | + | |
| Εδώ ορίζουμε τον κύκλο a χωρίς ρύθμιση της ακτίνας και άρα θα πάρει την τιμή 1. | Εδώ ορίζουμε τον κύκλο a χωρίς ρύθμιση της ακτίνας και άρα θα πάρει την τιμή 1. | ||
| Γραμμή 67: | Γραμμή 61: | ||
| Το παραπάνω παράδειγμα μετά και τον εξελληνισμό των αναγνωριστικών του παίρνει την ακόλουθη μορφή: | Το παραπάνω παράδειγμα μετά και τον εξελληνισμό των αναγνωριστικών του παίρνει την ακόλουθη μορφή: | ||
| - | # | + | |
| - | # -*- coding: UTF-8 -*- | + | # -*- coding: UTF-8 -*- |
| - | + | #Filename: cycle.py - 1ο/1 μέρη - 2η έκδοση με Ελληνικά ! | |
| - | #Filename: cycle.py - 1ο/1 μέρη - 2η έκδοση με Ελληνικά ! | + | from math import pi |
| - | + | class Κύκλος: | |
| - | from math import pi | + | |
| - | + | ||
| - | class Κύκλος: | + | |
| ''' | ''' | ||
| def __init__(self, | def __init__(self, | ||
| Γραμμή 89: | Γραμμή 80: | ||
| def Περίμετρος(self): | def Περίμετρος(self): | ||
| return self.rad*2*pi | return self.rad*2*pi | ||
| + | | ||
| + | Αλφα=Κύκλος(5); | ||
| + | print(' | ||
| + | print(' | ||
| + | Βήτα=Κύκλος(); | ||
| + | Βήτα.Βάλε_Ακτίνα(3); | ||
| + | print(' | ||
| + | print(' | ||
| - | Αλφα=Κύκλος(5); | + | ==== 2ο Παράδειγμα ==== |
| - | print(' | + | |
| - | print(' | + | |
| - | Βήτα=Κύκλος(); | + | |
| - | Βήτα.Βάλε_Ακτίνα(3); | + | |
| - | print(' | + | |
| - | print(' | + | |
| - | 2ο Παράδειγμα αντικειμενοστραφούς προγραμματισμού με Python: | + | == Κληρονομικότητα και Πολυμορφισμός == |
| - | ------------------------------------------------------------ | + | |
| - | Κληρονομικότητα και Πολυμορφισμός | + | |
| - | --------------------------------- | + | # -*- coding: UTF-8 -*- |
| - | + | #Filename: Σχολές.py - Έκδοση με Ελληνικά ! | |
| - | # | + | |
| - | # -*- coding: UTF-8 -*- | + | class Ίδρυμα: |
| - | + | ||
| - | #Filename: Σχολές.py - Έκδοση με Ελληνικά ! | + | |
| - | + | ||
| - | class Ίδρυμα: | + | |
| ''' | ''' | ||
| def __init__(self, | def __init__(self, | ||
| self.τίτλος=Όνομα | self.τίτλος=Όνομα | ||
| print(' | print(' | ||
| + | | ||
| def Όνομα(self): | def Όνομα(self): | ||
| return self.τίτλος | return self.τίτλος | ||
| + | | ||
| def Τίτλος(self): | def Τίτλος(self): | ||
| return self.τίτλος | return self.τίτλος | ||
| Γραμμή 127: | Γραμμή 115: | ||
| def Είδος(self): | def Είδος(self): | ||
| return self.είδος | return self.είδος | ||
| - | + | | |
| - | class Σχολή(Ίδρυμα): | + | class Σχολή(Ίδρυμα): |
| ''' | ''' | ||
| def __init__(self, | def __init__(self, | ||
| Γραμμή 134: | Γραμμή 122: | ||
| self.τίτλος=ίδρυμα.τίτλος | self.τίτλος=ίδρυμα.τίτλος | ||
| print(' | print(' | ||
| + | | ||
| def Όνομα(self): | def Όνομα(self): | ||
| return self.όνομα | return self.όνομα | ||
| Γραμμή 144: | Γραμμή 132: | ||
| def Επίπεδο(self): | def Επίπεδο(self): | ||
| return self.επίπεδο | return self.επίπεδο | ||
| - | + | | |
| - | ΕΜΠ=Ίδρυμα(' | + | ΕΜΠ=Ίδρυμα(' |
| - | ΕΜΠ.Βάλε_Είδος(' | + | ΕΜΠ.Βάλε_Είδος(' |
| - | print(' | + | print(' |
| - | + | ||
| - | ΣΑΤΜ=Σχολή(' | + | ΣΑΤΜ=Σχολή(' |
| - | ΣΑΤΜ.Βάλε_Επίπεδο() | + | ΣΑΤΜ.Βάλε_Επίπεδο() |
| - | print(' | + | print(' |
| - | + | ||
| - | ΣΗΜΜΗΥ=Σχολή(' | + | ΣΗΜΜΗΥ=Σχολή(' |
| - | ΣΗΜΜΗΥ.Βάλε_Επίπεδο(" | + | ΣΗΜΜΗΥ.Βάλε_Επίπεδο(" |
| - | print(' | + | print(' |
| - | + | ||
| - | if ΣΗΜΜΗΥ.Τίτλος() == ΣΑΤΜ.Τίτλος(): | + | if ΣΗΜΜΗΥ.Τίτλος() == ΣΑΤΜ.Τίτλος(): |
| print(' | print(' | ||
| - | + | | |
| - | print(' | + | print(' |
| - | if ΣΗΜΜΗΥ.Επίπεδο() != ΣΑΤΜ.Επίπεδο(): | + | if ΣΗΜΜΗΥ.Επίπεδο() != ΣΑΤΜ.Επίπεδο(): |
| print (' ΔΕΝ ') | print (' ΔΕΝ ') | ||
| - | print (' έχουν το ίδιο επίπεδο σπουδών.' | + | |
| - | + | ||
| - | print(' | + | print(' |
| - | if ΣΗΜΜΗΥ.Επίπεδο() > ΣΑΤΜ.Επίπεδο(): | + | if ΣΗΜΜΗΥ.Επίπεδο() > ΣΑΤΜ.Επίπεδο(): |
| print(ΣΗΜΜΗΥ.Όνομα()) | print(ΣΗΜΜΗΥ.Όνομα()) | ||
| - | elif ΣΗΜΜΗΥ.Επίπεδο() < ΣΑΤΜ.Επίπεδο(): | + | |
| - | print(ΣATM.Όνομα()) | + | print(ΣATM.Όνομα()) |
| - | print(' | + | print(' |
| Μελετήστε προσεκτικά το παράδειγμα αυτό και σχολιάστε μόν-οι/ | Μελετήστε προσεκτικά το παράδειγμα αυτό και σχολιάστε μόν-οι/ | ||
| - | Καλό κώδικα με Python. | + | Καλό |