Προς το περιεχόμενο
  • 0
Tablet

Αντικειμενοστραφης γλώσσες προγραμματισμού;;

Ερώτηση

Καλησπέρα,

Μπορεί κανεις με "απλα" Ελληνικά να μου εξηγήσει τι είναι οι Αντικειμενοστραφης γλώσσες και τη 

Αντικειμενοστραφης προγραμματισμός;;

Διαβασα wiki αλλα δεν εβγαα ακρη.. 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

8 απαντήσεις σε αυτή την ερώτηση

Προτεινόμενες αναρτήσεις

  • 0

Υπάρχει ενα έτοιμο αντικείμενο γραμμένο απο κάποιον αλλο προγραμματιστή και εσυ γράφεις κώδικα γύρω απο αυτο το αντικείμενο.

  • Like 1

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Για να καταλάβεις τι είναι αντικειμενοστραφής προγραμματισμός (OOP) θα πρέπει πρώτα να έχεις βασικές γνώσεις προγραμματισμού, ώστε να καταλάβεις όχι μόνο τι είναι αλλά και τι προσφέρει και γιατί δημιουργήθηκε (ποια ανάγκη στον προγραμματισμό ήρθε να καλύψει). Δε γίνεται με μια δυο προτάσεις να σου εξηγήσει κάποιος τι είναι OOP και να καταλάβεις. Ένα πολύ καλό tutorial που χρησιμοποιεί καλά παραδείγματα είναι εδώ

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Εχω καποιες βασικες γνωσεις προγραμματισμού δεν ειμαι ασχετος απλα προσπαθω βρω ενα καλο "απλο" "ακαδημαϊκό" ορισμό.. 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

κατ'αρχάς αντικειμενοστρεφής... :P

 

πιστεύω να γνωρίζεις τους βασικούς τύπους δεδομένων, όπως integer, float, char, boolean, κλπ.. αλλά αυτοί αντιπροσωπεύουν κάτι πολύ απλό. μπορείς δλδ στον αντικειμενοστρεφή να ορίσεις καινούριους τύπους δεδομένων οι οποίοι θα αποτελούνται από διάφορους συνδυασμούς των βασικών τύπων.

 

έστω ότι κάνουμε γεωμετρία και θέλουμε έναν τύπο δεδομένων που να αντιπροσωπεύει τα ορθογώνια (σχήματα). θέλουμε δλδ ένα αντικείμενο που να περιέχει τις τιμές μήκος και πλάτος (και όπως βλέπεις πιο πάνω ένας "σκέτος" τύπος δεδομένων δεν αρκεί).

 

για να ορίσουμε αυτόν τον νέο τύπο δεδομένων πρέπει να τον ορίσουμε μέσα σε μία κλάση. έχουμε λοιπόν:

 

 

class Rectangle{
 
    int width;
 
    int height;
 
}

 

 

για να φτιάξεις μία νέα μεταβλητή "απλού" τύπου, αρκεί να δώσεις π.χ. :

 

 

int x = 65;

 

ενώ αν θες να χρησιμοποιήσεις ας πούμε ένα ορθογώνιο που ορίστικε στην παραπάνω κλάση θα πρέπει πρώτα να φτιάξεις ένα νέο αντικείμενο αυτού:

 

 

Rectangle r = new Rectangle();

 

και ύστερα να σημπληρώσεις τα πεδία του, σαν να ήτανε κανονικές μεταβλητές:

 

 

r.width = 23;
r.height = 15;

 

εκτός από μεταβλητές, μία κλάση μπορεί επίσης να περιέχει μεθόδους, μία άλλη κλάση, κλπ..

 

 

ο παραπάνω κώδικας είναι σε Java και έχω παραλείψει πάρα πολλά για λόγους απλότητας και κατανόησης από πλευράς των αρχάριων ;)

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

tr3quart1sta δεν είναι και τόσο αντικειμενοστρα(ε)φές το παράδειγμά σου.  :-D

Αυτό υλοποιείται και στην C, απλά με struct.

 

Η κλάση δεν πρέπει να είναι μόνο μια ομάδα από δεδομένα (state),

πρέπει να έχει και μεθόδους (behaviour) που να επηρεάζουν τα δεδομένα. 

 

Ούτε να έχει μόνο μεθόδους πρέπει (το άλλο άκρο) διότι δεν έχει state.

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Εχω καποιες βασικες γνωσεις προγραμματισμού δεν ειμαι ασχετος απλα προσπαθω βρω ενα καλο "απλο" "ακαδημαϊκό" ορισμό.. 

 

Απλά,είναι ο "κόσμος" που αποτελείται από αντικείμενα,τα οποία έχουν κάποιες ιδιότητες και μπορούν να υλοποιούν κάποιες ενέργειες.

 

Απλά ελληνικά...:-)

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Mε λίγο διάβασμα και με τις απαντήσεις κάτι ψιλό ξεκαθάρισα..

Η δημιουργία κλάσεων συναντάται μόνο στις αντικειμενοστρεφης γλώσσες;

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες
  • 0

Mε λίγο διάβασμα και με τις απαντήσεις κάτι ψιλό ξεκαθάρισα..

Η δημιουργία κλάσεων συναντάται μόνο στις αντικειμενοστρεφης γλώσσες;

 

 

Χε...

 

Μην κάνεις το λάθος που γίνεται συχνά. 

 

 

Δεν υπάρχει τίποτα που να μην μπορεί να γίνει με οποιαδήποτε (σχεδόν) γλώσσα. Όλα μία μηχανή τα κάνει και μία μηχανή τα τρέχει. 

 

Object oriented (OO) μπορεί να γράψεις και με Asembly. 

 

Οι διαφορές του OO είναι κυρίως θέμα μοντελοποίησης και υλοποίησης των μοντέλων αυτών. Το θέμα είναι ότι με την συγκεκριμένη μοντελοποίηση μπορεί ο άνθρωπος να φτιάξει λογισμικά και διαδικασίες που συντηρούνται, επεκτείνονται και ελέγχονται πιο εύκολα. Πολύ πιο εύκολα!

 

Οι κλάσεις είναι το βασικό δομικό συστατικό του OO. Δεν είναι όμως ο ΟΟ οι κλάσεις. 

 

Σχετικά με τις γλώσσες, υπάρχουν κάποιες γλώσσες που προσφέρουν έτοιμα εργαλεία για να κάνεις ΟΟ. Επίσης, πέρα από τα εργαλεία, προσφέρουν και έτοιμες τις δικλείδες ασφαλείας για να τηρείται και να μην καταστρατηγείται το μοντέλο του ΟΟ. 

Κοινοποιήστε αυτήν την ανάρτηση


Σύνδεσμος στην ανάρτηση
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε έναν λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι εύκολο!

Εγγραφείτε για έναν νέο λογαριασμό

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
×
×
  • Δημιουργία νέου...

Χρήσιμες πληροφορίες

Με την περιήγησή σας στο insomnia.gr, αποδέχεστε τη χρήση cookies που ενισχύουν σημαντικά την εμπειρία χρήσης.