Διαφορά μεταξύ OOP και POP

Συγγραφέας: Laura McKinney
Ημερομηνία Δημιουργίας: 2 Απρίλιος 2021
Ημερομηνία Ενημέρωσης: 16 Ενδέχεται 2024
Anonim
Seriously WTF! Grease your 124017 diffs now!
Βίντεο: Seriously WTF! Grease your 124017 diffs now!

Περιεχόμενο


Προγραμματισμός με Προσανατολισμό Διαδικασίας (POP) και Αντικειμενοστραφής προγραμματισμός (OOP) και οι δύο είναι οι προσεγγίσεις προγραμματισμού, οι οποίες χρησιμοποιούν γλώσσα υψηλού επιπέδου για τον προγραμματισμό. Ένα πρόγραμμα μπορεί να γραφτεί και στις δύο γλώσσες, αλλά εάν η εργασία είναι πολύ σύνθετη, το OOP λειτουργεί καλά σε σύγκριση με το POP. Στο POP, η «ασφάλεια των δεδομένων» κινδυνεύει, καθώς τα δεδομένα μετακινούνται ελεύθερα στο πρόγραμμα, καθώς δεν επιτυγχάνεται «επαναχρησιμοποίηση κώδικα» που καθιστά τον προγραμματισμό μακρύ και δύσκολο να κατανοηθεί.

Τα μεγάλα προγράμματα οδηγούν σε περισσότερα σφάλματα και αυξάνουν τον χρόνο της αποσφαλμάτωσης. Όλες αυτές οι αδυναμίες οδηγούν σε μια νέα προσέγγιση, δηλαδή στον "αντικειμενοστραφή προγραμματισμό". Στον αντικειμενοστραφή προγραμματισμό ο πρωταρχικός προβληματισμός δίνεται στο 'ασφάλεια δεδομένων' δεσμεύει προσεκτικά τα δεδομένα στις λειτουργίες που λειτουργούν σε αυτό. Επίσης, επιλύει το πρόβλημα της "επαναχρησιμοποίηση κώδικα', Σαν να δημιουργείται μια κλάση, μπορούν να δημιουργηθούν πολλαπλές παρουσίες (αντικείμενα) που επαναχρησιμοποιούν τα μέλη και τις λειτουργίες μελών που ορίζονται από μια τάξη.


Υπάρχουν κάποιες άλλες διαφορές που μπορούν να εξηγηθούν με τη βοήθεια ενός πίνακα σύγκρισης.

    1. Συγκριτικό διάγραμμα
    2. Ορισμός
    3. Βασικές διαφορές
    4. Πλεονεκτήματα
    5. Μειονεκτήματα
    6. συμπέρασμα


Συγκριτικό διάγραμμα

Βάση Για σύγκρισηΚΡΟΤΟΣOOP
Βασικός
Διαδικασία / Δομή προσανατολισμένη.
Αντικειμενοστραφής.
Πλησιάζω Από πάνω προς τα κάτω.Κάτω προς τα πάνω.
ΒάσηΗ κύρια εστίαση είναι στο "πως να γίνει η εργασία" δηλαδή στη διαδικασία ή τη δομή ενός προγράμματος.Η κύρια εστίαση είναι στην ασφάλεια των δεδομένων. Επομένως, μόνο τα αντικείμενα επιτρέπεται να έχουν πρόσβαση στις οντότητες μιας τάξης.
ΔιαίρεσηΤο μεγάλο πρόγραμμα χωρίζεται σε μονάδες που ονομάζονται λειτουργίες.Το σύνολο του προγράμματος χωρίζεται σε αντικείμενα.
Λειτουργία πρόσβασης σε οντότηταΔεν παρατηρήθηκε κανένας προσδιοριστής πρόσβασης.
Ο προσδιοριστής πρόσβασης είναι "δημόσιος", "ιδιωτικός", "προστατευμένος".
Υπερφόρτωση / ΠολυμορφισμόςΟύτε λειτουργίες υπερφόρτωσης ούτε χειριστές.Λειτουργεί με υπερφόρτωση λειτουργιών, κατασκευαστών και χειριστών.
ΚληρονομίαΔεν είναι καμία πρόβλεψη κληρονομίας.Η κληρονομιά επιτυγχάνεται σε τρεις τρόπους δημόσιας ιδιωτικής και προστατευόμενης.
Απόκρυψη και ασφάλεια δεδομένωνΔεν υπάρχει σωστός τρόπος απόκρυψης των δεδομένων, επομένως τα δεδομένα είναι επισφαλείς Τα δεδομένα είναι κρυμμένα σε τρεις δημόσιες, ιδιωτικές και προστατευμένες λειτουργίες. Συνεπώς, η ασφάλεια των δεδομένων αυξάνεται.
Κοινή χρήση δεδομένωνΤα παγκόσμια δεδομένα μοιράζονται μεταξύ των λειτουργιών του προγράμματος.Τα δεδομένα μοιράζονται μεταξύ των αντικειμένων μέσω των λειτουργιών των μελών.
Λειτουργίες / τάξεις φίλωνΔεν υπάρχει έννοια της λειτουργίας φίλων.Οι τάξεις ή η λειτουργία μπορούν να γίνουν φίλοι μιας άλλης τάξης με τη λέξη-κλειδί "φίλος".
Σημείωση: η λέξη-κλειδί "φίλος" χρησιμοποιείται μόνο στην c ++
Εικονικές κατηγορίες / λειτουργίεςΚαμία έννοια των εικονικών τάξεων.Η έννοια της εικονικής λειτουργίας εμφανίζεται κατά τη διάρκεια της κληρονομιάς.
Παράδειγμα C, VB, FORTRAN, PascalC ++, JAVA, VB.NET, C # .NET.


Ορισμός του αντικειμενοστραφικού προγραμματισμού (OOP)

Ο κύριος στόχος του OOP είναι να αποκρύψει τα δεδομένα από μη-μέλη λειτουργίες μιας τάξης, τα οποία αντιμετωπίζει ως "κρίσιμες πληροφορίες". Τα δεδομένα συνδέονται στενά με τις λειτουργίες μέλους μιας τάξης, η οποία λειτουργεί σε αυτήν. Δεν επιτρέπει σε καμία λειτουργία που δεν είναι μέλος να τροποποιήσει τα δεδομένα μέσα σε αυτήν. Τα αντικείμενα αλληλεπιδρούν μεταξύ τους μέσω λειτουργιών μελών για πρόσβαση στα δεδομένα τους.

Το OOP αναπτύσσεται με βάση τη βασική έννοια των "αντικειμένων", "τάξεων", "ενθυλάκωσης ή αφαίρεσης δεδομένων", "κληρονομιάς" και "πολυμορφισμού / υπερφόρτωσης". Στο OOP, τα προγράμματα μπορούν να χωριστούν σε ενότητες, χωρίζοντας δεδομένα και λειτουργίες, τα οποία μπορούν περαιτέρω να χρησιμοποιηθούν ως πρότυπα για τη δημιουργία νέων αντιγράφων των ενοτήτων, εφόσον απαιτείται. Επομένως, πρόκειται για μια προσέγγιση που διευκολύνει τη μορφοποίηση προγραμμάτων, κατασκευάζοντας μια χωρισμένη περιοχή μνήμης για δεδομένα και λειτουργίες.

Αντικειμενοστραφείς έννοιες

  • Αντικείμενα: Θεωρείται ως μια μεταβλητή της τάξης τύπου και μια περίπτωση μιας κλάσης.
  • Τάξη: Είναι ένα σύνολο αντικειμένων παρόμοιου τύπου. Ένα πλήρες σύνολο δεδομένων και κώδικα ενός αντικειμένου δημιουργεί έναν τύπο δεδομένων που ορίζει ο χρήστης χρησιμοποιώντας μια κλάση.
  • Αφαίρεση και ενσωμάτωση δεδομένων: Η αφαίρεση δεν είναι τίποτα άλλο παρά μια μέθοδος κρυφής λεπτομέρειας και αντιπροσωπεύει βασικά χαρακτηριστικά. Η ενθυλάκωση είναι μια μέθοδος για τη συσκευασία των δεδομένων και των λειτουργιών σε μια ενιαία μονάδα.
  • Κληρονομία: Η κληρονομικότητα είναι μια τεχνική απόκτησης χαρακτηριστικών αντικειμένων από μια τάξη στα άλλα αντικείμενα κατηγορίας. Με άλλα λόγια, βοηθά στην απόκτηση μιας νέας τάξης από την υπάρχουσα.
  • Πολυμορφισμός: Ο πολυμορφισμός παρέχει μια μέθοδο δημιουργίας πολλαπλών μορφών μιας συνάρτησης χρησιμοποιώντας ένα μόνο όνομα λειτουργίας.
  • Δυναμική σύνδεση: Προσδιορίζει ότι ο κωδικός που σχετίζεται με μια συγκεκριμένη διαδικασία δεν είναι γνωστός μέχρι τη στιγμή της κλήσης κατά το χρόνο εκτέλεσης.
  • πέρασμα: Αυτή η έννοια OOP επιτρέπει αλληλεπίδραση μεταξύ διαφορετικών κατηγοριών μέσω μετάδοσης και λήψης πληροφοριών.

Ορισμός προγραμματισμού προσανατολισμένου στη διαδικασία (POP)

Το POP είναι ένας συμβατικός τρόπος προγραμματισμού. Ο διαδικαστικός προγραμματισμός είναι εκεί όπου η κύρια εστίαση είναι στην προσπάθεια να γίνει με διαδοχική σειρά. Το διάγραμμα ροής οργανώνει τη ροή του ελέγχου του προγράμματος. Εάν το πρόγραμμα είναι εκτεταμένο, είναι δομημένο σε ορισμένες μικρές μονάδες που ονομάζονται λειτουργίες, οι οποίες μοιράζονται παγκόσμια δεδομένα. Εδώ δημιουργείται η ανησυχία της ασφάλειας των δεδομένων, καθώς υπάρχει μια μη σκόπιμη αλλαγή στο πρόγραμμα από λειτουργίες.

Χαρακτηριστικά POP

  • Κατά το σχεδιασμό ενός προγράμματος, το POP ακολουθεί μια προσέγγιση προγραμματισμού από την κορυφή προς τα κάτω.
  • Η πλειονότητα των λειτουργιών επιτρέπει την κοινή χρήση δεδομένων σε όλο τον κόσμο.
  • Επίσης, διαιρεί τα μεγαλύτερα προγράμματα σε μικρότερα τμήματα που ονομάζονται λειτουργίες.
  • Επιτρέπει μια ελεύθερη κίνηση δεδομένων γύρω από το σύστημα από λειτουργίες σε λειτουργίες.
  • Τα δεδομένα μετασχηματίζονται από τις λειτουργίες από τη μια μορφή στην άλλη.
  • Δίνει σημασία στην έννοια των λειτουργιών.
  1. Το POP είναι προγραμματισμένο με διαδικασίες, ενώ το OOP είναι προγραμματισμός αντικειμένων.
  2. Η κύρια εστίαση του POP είναι στην "πώς να ολοκληρώσετε την εργασία"Ακολουθεί το διάγραμμα ροής για να ολοκληρωθεί η εργασία. Η κύρια εστίαση της OOP είναι ασφάλεια δεδομένων καθώς μόνο τα αντικείμενα μιας τάξης επιτρέπεται να έχουν πρόσβαση στα χαρακτηριστικά ή τη λειτουργία μιας κλάσης.
  3. ο λειτουργίες είναι μικρές μονάδες των μεγάλων προγραμμάτων ή ένα υποπρόγραμμα που εκτελεί για να γίνει η κύρια εργασία. Αντίθετα, τα χαρακτηριστικά και οι λειτουργίες της κατηγορίας OOP διαιρούνται μεταξύ των αντικείμενα.
  4. Στο POP, δεν υπάρχει συγκεκριμένη λειτουργία πρόσβασης για πρόσβαση σε χαρακτηριστικά ή λειτουργίες του προγράμματος. Αντίστροφα, στο OOP υπάρχουν τρεις τρόποι πρόσβασης "δημόσιο", "ιδιωτικό", "προστατευμένο", που χρησιμοποιούνται ως μέθοδος πρόσβασης για την πρόσβαση σε χαρακτηριστικά ή λειτουργίες.
  5. Το POP δεν υποστηρίζει την έννοια της Υπερφόρτωσης / πολυμορφισμού. Αντίθετα, το OOP υποστηρίζει υπερφορτισμό / πολυμορφισμό, που σημαίνει ότι χρησιμοποιεί το ίδιο όνομα λειτουργίας για την εκτέλεση διαφορετικών λειτουργιών. Μπορούμε να υπερφορτώσουμε τις λειτουργίες, τον κατασκευαστή και τους χειριστές στο OOP.
  6. Δεν υπάρχει έννοια της κληρονομιάς στο POP ενώ το OOP υποστηρίζει την κληρονομιά που επιτρέπει τη χρήση του χαρακτηριστικού και των λειτουργιών μιας άλλης τάξης με την κληρονομιά της.
  7. Το POP είναι λιγότερο ασφαλές σε σύγκριση με το OOP επειδή στο OOP ο προσδιοριστής πρόσβασης περιορίζει την πρόσβαση σε χαρακτηριστικά ή λειτουργίες που αυξάνουν την ασφάλεια.
  8. Σε POP, αν ορισμένα δεδομένα πρέπει να μοιράζονται μεταξύ όλων των λειτουργιών του προγράμματος, δηλώνεται σε παγκόσμιο επίπεδο εκτός όλων των λειτουργιών. Ενώ στο OOP το μέλος δεδομένων της τάξης μπορεί να έχει πρόσβαση μέσω των λειτουργιών μελών της τάξης.
  9. Στο POP δεν υπάρχει έννοια της λειτουργίας του φίλου. Αντιθέτως, στο OOP υπάρχει μια έννοια της λειτουργίας φίλου που δεν είναι μέλος της τάξης, αλλά επειδή είναι μέλος φίλου μπορεί να έχει πρόσβαση στα στοιχεία των μελών και των λειτουργιών μελών της τάξης.
  10. Δεν υπάρχει έννοια των εικονικών τάξεων σε POP ενώ ενώ στο OOP, οι εικονικές λειτουργίες υποστηρίζουν τον πολυμορφισμό.

Πλεονεκτήματα

POP (Προγραμματισμός με Προγραμματισμό)

  • Παρέχει τη δυνατότητα επαναχρησιμοποίησης του ίδιου κώδικα σε διάφορα σημεία.
  • Διευκολύνει την παρακολούθηση της ροής του προγράμματος.
  • Δυνατότητα κατασκευής ενοτήτων.

OOP (προγραμματισμός αντικειμένων)

  • Τα αντικείμενα βοηθούν στην κατανομή εργασιών στο έργο.
  • Ασφαλής προγράμματα μπορούν να κατασκευαστούν χρησιμοποιώντας κρύβοντας δεδομένα.
  • Μπορεί ενδεχομένως να χαρτογραφήσει τα αντικείμενα.
  • Επιτρέπει την κατηγοριοποίηση των αντικειμένων σε διάφορες κατηγορίες.
  • Τα αντικειμενοστραφή συστήματα μπορούν να αναβαθμιστούν χωρίς κόπο.
  • Οι περιττοί κωδικοί μπορούν να εξαλειφθούν με κληρονομικότητα.
  • Οι κωδικοί μπορούν να επεκταθούν χρησιμοποιώντας τη δυνατότητα επαναχρησιμοποίησης.
  • Μπορεί να επιτευχθεί μεγαλύτερη modularity.
  • Η άντληση δεδομένων αυξάνει την αξιοπιστία.
  • Ευέλικτη λόγω της έννοιας της δυναμικής δέσμευσης.
  • Αποσυνδέει τις βασικές προδιαγραφές από την υλοποίησή του χρησιμοποιώντας πληροφορίες που κρύβονται.

Μειονεκτήματα

POP (Προγραμματισμός με Προγραμματισμό)

  • Τα παγκόσμια δεδομένα είναι ευάλωτα.
  • Τα δεδομένα μπορούν να κινούνται ελεύθερα μέσα σε ένα πρόγραμμα
  • Είναι δύσκολο να επαληθεύσετε τη θέση των δεδομένων.
  • Οι λειτουργίες είναι προσανατολισμένες προς τη δράση.
  • Οι λειτουργίες δεν είναι ικανές να σχετίζονται με τα στοιχεία του προβλήματος.
  • Τα προβλήματα του πραγματικού κόσμου δεν μπορούν να μοντελοποιηθούν.
  • Μέρη του κώδικα είναι αλληλένδετα.
  • Ένας κωδικός εφαρμογής δεν μπορεί να χρησιμοποιηθεί σε άλλη εφαρμογή.
  • Τα δεδομένα μεταφέρονται χρησιμοποιώντας τις λειτουργίες.

OOP (προγραμματισμός αντικειμένων)

  • Απαιτεί περισσότερους πόρους.
  • Η δυναμική συμπεριφορά αντικειμένων απαιτεί αποθήκευση RAM.
  • Η ανίχνευση και ο εντοπισμός σφαλμάτων είναι πιο δύσκολη σε πολύπλοκες εφαρμογές όταν πραγματοποιείται το πέρασμα.
  • Η κληρονομιά καθιστά τις τάξεις τους συζευγμένες στενά, γεγονός που επηρεάζει την επαναχρησιμοποίηση αντικειμένων.

συμπέρασμα

Τα ελαττώματα του POP δημιουργούν την ανάγκη για OOP. Το OOP διορθώνει τα ελαττώματα του POP, εισάγοντας την έννοια των "αντικειμένων" και "τάξεων". Αυξάνει την ασφάλεια των δεδομένων και την αυτόματη προετοιμασία και εκκαθάριση αντικειμένων. Το OOP καθιστά δυνατή τη δημιουργία πολλαπλών παρουσιών του αντικειμένου χωρίς παρεμβολές.