Εδώ βλέπετε τις διαφορές μεταξύ της επιλεγμένης έκδοσης και της τρέχουσας έκδοσης της σελίδας.
Επόμενη αναθεώρηση | Προηγούμενη αναθεώρηση | ||
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. | + | Καλό |