Δημοσιεύτηκε: 20 Οκτ 2010, 11:56
από Dimitris
MakisM1 έγραψε:Αυτο που θελω να πω, ειναι οτι δεν προλαβα την εξελιξη του 'αντικειμενοστραφους προγραμματισμου' (object oriented programming) και με φοβιζει...

Μάκη, μπορείς να συνεχίσεις να προγραμματίζεις στην python όπως προγραμμάτιζεις στη FORTRAN, κανείς δε σου το απαγορεύει αυτό. (αυτό κάνω κι εγώ πολλές φορές μιας και προέρχομαι κι εγώ απο fortran). O αντικειμενοστραφής προγραμματισμός είναι απλώς ένας διαφορετικός τρόπος να πεις το ίδιο πράγμα.

Το απλό παράδειγμα που χρησιμοποιώ (από κάπου θα το έκλεψα) για τον αντικειμενοστραφή προγραμματισμό είναι το εξής: άνθρωπος (class), ύψος, βάρος (attributes), αδυνατίζω, παχαίνω (methods).

Δημήτρης = Άνθρωπος(ύψος=1.8, βάρος=85)
Δημήτρης.πάχυνε(5)
Δημήτρης
ύψος=1.8, βάρος=90

Στη Fortran αυτό θα το έκανες ως εξης:
Δημ_ύψος = 1.8
Δημ_βάρος = 85
call πάχυνε(Δημ_ύψος, Δημ_βάρος, 5)

subroutine πάχυνε(ύψος, βάρος, μεταβολή)
βάρος = βάρος + μεταβολή
end

Προς το παρόν απλό, αλλά αν θέλεις να υπολογισεις και το Γιώργο, Κώστα, Νίκο, κλπ τότε με τον αντικειμενοστραφη προγραμματισμό είναι πολύ απλό.
Γιώργος = Άνθρωπος(ύψος=1.75, βάρος=80)
Γιώργος.αδυνάτισε(5)

Μετά η κληρονομικότητα δεν είναι τίποτε άλλο από το να δημιουργήσεις μια νέα class, πχ παιδιά, με τις ίδιες ιδιοτητες των ανθρώπων αλλα επιπλέον και σε ποια τάξη είναι.
class Παιδί(Άνθρωπος):
self.τάξη = 1
κωστάκης = Παιδί(...)

PS. Μπορείς να χρησιμοποιήσεις το fortran κώδικά σου και να το συνδέσεις στην python με το f2py ή άλλες μεθόδους. Aλλα αυτό δε χωράει σε αυτή την απάντηση.