Τα παραδείγματα προγραμματισμού είναι οι θεωρίες ή οι ιδέες που βοηθούν στη διαμόρφωση των διαφορετικών γλωσσών που χρησιμοποιείτε για τη δημιουργία λογισμικού. Αντιπροσωπεύουν τα κύρια χαρακτηριστικά μιας γλώσσας προγραμματισμού, υπαγορεύοντας τη συμπεριφορά της.
Επομένως, είναι ασφαλές να πούμε ότι ένα παράδειγμα είναι εξίσου σημαντικό με τη σύνταξη και τη σημασιολογία μιας γλώσσας προγραμματισμού. Οι περισσότερες δημοφιλείς γλώσσες προγραμματισμού χρησιμοποιούν έναν από τους λίγους τύπους παραδειγμάτων προγραμματισμού.
1. Επιτακτική Προγραμματισμός
Το επιτακτικό παράδειγμα είναι μια από τις πρώτες προσεγγίσεις στον προγραμματισμό, που χρονολογείται από τη δεκαετία του 1950. Αυτό το παράδειγμα βασίζεται σε μεγάλο βαθμό στη χρήση μεταβλητών, εντολών και διαδικασιών.
Ο Imperative Programming χρησιμοποιεί εντολές για να επιθεωρήσει και να ενημερώσει τις μεταβλητές, αποθηκεύοντας την κατάσταση σε ένα πρόγραμμα. Στη συνέχεια, ένας συνδυασμός εντολών δημιουργεί μια διαδικασία. Η αφαίρεση δεδομένων παίζει κρίσιμο ρόλο στην αναπαράσταση δεδομένων, η οποία διευκολύνει τη χαλαρή σύζευξη.
Μία από τις πιο δημοφιλείς γλώσσες που χρησιμοποιεί το προστακτικό παράδειγμα είναι η C. Αυτή η γλώσσα προγραμματισμού υποστηρίζει μόνο διαδικασίες συναρτήσεων.
Παράδειγμα επιτακτικού προγράμματος
#περιλαμβάνω
#περιλαμβάνωstruct Πελάτη
{
int CustomerId;
char Αριθμός παραγγελίας[20];
char Όνομα[30];
float OrderTotal;
};κενό κύριο ()
{
struct Customer John = {4000, "HK1001", "John Doe", 200.00};
struct Customer Jane = {4001, "HK1002", "Jane Doe", 600,00};memcpy (Τζέιν. Όνομα, "Jane Jones", 10);
printf ("Το συνολικό κόστος για τον αριθμό παραγγελίας %s %s είναι: $%.2f", Jane. Όνομα, Τζέιν. Αριθμός παραγγελίας, Τζέιν. OrderTotal);
}
Το παραπάνω πρόγραμμα C δημιουργεί ένα Πελάτης δομή. ο struct Ο τύπος είναι ένα κύριο παράδειγμα αφαίρεσης δεδομένων στο C.
Το πρόγραμμα δείχνει πώς οι εντολές μπορούν να δημιουργήσουν, να ενημερώσουν και να εμφανίσουν την κατάσταση — μέσω του Ιωάννα μεταβλητή δομής. Όλες αυτές οι εντολές βρίσκονται σε α κύριος() λειτουργία, η οποία στο σύνολό της είναι μια διαδικασία που δηλώνει πόσα χρήματα πρέπει να πληρώσει ένας πελάτης για μια παραγγελία.
Η εκτέλεση του παραπάνω προγράμματος θα παράγει την ακόλουθη έξοδο στην κονσόλα σας:
Το συνολικό κόστος για τον αριθμό παραγγελίας της Jane Jones HK1002 είναι: 600,00 $
2. Αντικειμενοστραφής προγραμματισμός
Το αντικειμενοστραφή πρότυπο προγραμματισμού απογειώθηκε τη δεκαετία του 1990. Αυτό το παράδειγμα είναι απόγονος του επιτακτικού. Ωστόσο, το αντικειμενοστραφή παράδειγμα αποθηκεύει την κατάσταση σε αντικείμενα και όχι σε μεταβλητές.
Οι γλώσσες προγραμματισμού που χρησιμοποιούν το αντικειμενοστραφή παράδειγμα χειρίζονται συχνά πολύπλοκες εφαρμογές καλύτερα. Τα βασικά χαρακτηριστικά του παραδείγματος είναι αντικείμενα, κλάσεις, ενθυλάκωση δεδομένων, κληρονομικότητα και πολυμορφισμός.
Μια κλάση είναι το θεμελιώδες στοιχείο ενός αντικειμενοστρεφούς προγράμματος. Ορισμένες κλάσεις κληρονομούν ιδιότητες και λειτουργίες από άλλες κλάσεις. Οι προγραμματιστές το περιγράφουν ως σχέση γονέα-παιδιού. Εμπίπτει στην κατηγορία του υποτύπου πολυμορφισμού.
Οι κλάσεις περιέχουν εργαλεία για την απόκρυψη και προστασία ευαίσθητων δεδομένων μέσω της ενθυλάκωσης. Αφού ορίσετε μια κλάση, μπορείτε στη συνέχεια να τη χρησιμοποιήσετε για να δημιουργήσετε αντικείμενα.
Τρεις από τις πιο δημοφιλείς γλώσσες προγραμματισμού που χρησιμοποιούν το αντικειμενοστραφή παράδειγμα είναι η Java, η C++ και η Python.
Παράδειγμα Αντικειμενοστρεφούς Προγράμματος
Αυτή η εφαρμογή επιδεικνύει τα περισσότερα από τα χαρακτηριστικά μιας αντικειμενοστρεφούς γλώσσας προγραμματισμού, της Java. Ένας συγκεκριμένος τύπος πελάτη κληρονομεί τη συμπεριφορά από έναν πιο γενικό τύπο. Όλοι οι πελάτες εφαρμόζουν μια διεπαφή. Ο συγκεκριμένος τύπος πελάτη παρακάμπτει μια μέθοδο από τη διεπαφή.
Το αρχείο Discountable.java
δημόσιοδιεπαφή με έκπτωση {
δημόσιοκενός grandTotal (Αριθμός παραγγελίας συμβολοσειράς, διπλό σύνολο);
}
Ο παραπάνω κώδικας δημιουργεί μια διεπαφή. Στην Java, μια διεπαφή είναι άλλο ένα παράδειγμα πολυμορφισμού. Επιτρέπει σε οντότητες που δεν σχετίζονται άμεσα να έχουν πρόσβαση στις ίδιες ιδιότητες, όπως το σύνολο μέθοδος. Αυτή η εφαρμογή εστιάζει στους πελάτες, αλλά μια τάξη εργαζομένων θα μπορούσε επίσης να έχει χρήση για τη διεπαφή με έκπτωση.
Το αρχείο Customer.java
δημόσιοτάξη Πελάτης υλοποιεί με έκπτωση {
προστατεύονταιενθ Κωδικός πελάτη;
προστατεύονται Συμβολοσειρά πελάτηΌνομα;
προστατεύονται Κωδικός πελάτη συμβολοσειράς;δημόσιο Πελάτης() {
Αυτό.customerId = 0;
Αυτό.customerName = "";
Αυτό.customerCode = "";
}δημόσιο Πελάτης(ενθ customerId, String customerName, String customerCode) {
Αυτό.customerId = customerId;
Αυτό.customerName = Όνομα πελάτη;
Αυτό.customerCode = customerCode;
}δημόσιοενθ getCustomerId() {
ΕΠΙΣΤΡΟΦΗ Κωδικός πελάτη;
}
δημόσιοκενός setCustomerId(ενθ Κωδικός πελάτη) {
Αυτό.customerId = customerId;
}
δημόσιο Συμβολοσειρά getCustomerName() {
ΕΠΙΣΤΡΟΦΗ Όνομα πελάτη;
}
δημόσιοκενός setCustomerName (String customerName) {
Αυτό.customerName = Όνομα πελάτη;
}
δημόσιο Συμβολοσειρά getCustomerCode() {
ΕΠΙΣΤΡΟΦΗ κωδικός πελάτη;
}δημόσιοκενός setCustomerCode (String customerCode) {
Αυτό.customerCode = customerCode;
}δημόσιοδιπλό clientType (String customerCode) {
διπλό έκπτωση = 0;αν (customerCode.toLowerCase().equals("pre")) {
έκπτωση = 0,10;
} αλλούαν (customerCode.toLowerCase().equals("gen")) {
έκπτωση = 0,02;
} αλλούαν (customerCode.toLowerCase().equals("new")) {
έκπτωση = 0,05;
}
ΕΠΙΣΤΡΟΦΗ έκπτωση;
}@Καταπατώ
δημόσιοκενός grandTotal (Αριθμός παραγγελίας συμβολοσειράς, διπλό σύνολο) {διπλό έκπτωση = clientType (customerCode);
διπλό discountPercentage = σύνολο * έκπτωση;
διπλό τελικόΣύνολο = σύνολο - έκπτωσηΠοσοστό;Σύστημα.έξω.println("Για "+ getCustomerName() + " order Number " + orderNumber + " το γενικό σύνολο είναι: $" + finalTotal);
}
}
Ο παραπάνω κώδικας δημιουργεί ένα Πελάτης τάξη. Υλοποιεί την Με έκπτωση διεπαφή, στη συνέχεια χρησιμοποιεί τη μέθοδό του για να υπολογίσει και να εμφανίσει ένα συνολικό σύνολο, με βάση την κατηγορία του πελάτη. ο προστατεύονται λέξη-κλειδί στον παραπάνω κώδικα είναι ένα παράδειγμα ενθυλάκωσης δεδομένων. περιορίζει την πρόσβαση στα δεδομένα που δημιουργούνται μέσω αυτής της κλάσης. Έτσι, μόνο υποκλάσεις (ή θυγατρικές) του Πελάτης η κλάση θα έχει πρόσβαση στα δεδομένα της.
Το αρχείο NewCustomer.java
δημόσιοτάξη Νέος πελάτης εκτείνεται Πελάτης {
δημόσιο Νέος πελάτης() {
σούπερ();
}δημόσιο Νέος πελάτης(ενθ customerId, String customerName, String customerCode) {
σούπερ(customerId, customerName, customerCode);
}
}
Ο παραπάνω κώδικας δημιουργεί ένα Νέος πελάτης κλάση που επεκτείνει το Πελάτης τάξη. Αυτό Η κλάση Java χρησιμοποιεί κληρονομικότητα να αναπαριστά μια σχέση γονέα-παιδιού με το Πελάτης τάξη. ο Νέος πελάτης είναι το παιδί στη σχέση, επομένως, έχει πρόσβαση σε όλες τις ιδιότητες στην κλάση Πελάτης. Εισάγει τα χαρακτηριστικά της κλάσης πελάτη χρησιμοποιώντας το σούπερ() μέθοδος.
Το αρχείο App.java
δημόσιοτάξη Εφαρμογή {
δημόσιοστατικόςκενός κύρια (String[] args) {
Πελάτης Τζέιν = νέος NewCustomer (4001, "Jane Jones", "new");
Jane.grandTotal("HK1002", 600);
}
}
Ο παραπάνω κώδικας δημιουργεί ένα εκτελέσιμο αρχείο App τάξη. Αυτή η κλάση δημιουργεί ένα αντικείμενο πελάτη (Jane) και μέσω του πολυμορφισμού κάνει την Jane a Νέος πελάτης. Τέλος, δημιουργεί το γενικό σύνολο για την παραγγελία της Jane. Η εκτέλεση του παραπάνω προγράμματος θα δημιουργήσει την ακόλουθη έξοδο στην κονσόλα:
Για τον αριθμό παραγγελίας της Jane Jones HK1002 το συνολικό ποσό είναι: 570,0 $
3. Λειτουργικός Προγραμματισμός
Οι βασικές έννοιες αυτού του παραδείγματος είναι οι εκφράσεις, οι συναρτήσεις, ο παραμετρικός πολυμορφισμός και η αφαίρεση δεδομένων. Οι εκφράσεις είναι τα θεμελιώδη στοιχεία των συναρτήσεων που χρησιμοποιούνται από τις συναρτησιακές γλώσσες προγραμματισμού. Ο παραμετρικός πολυμορφισμός είναι ένας από τους τρεις τύπους πολυμορφισμού. Αυτός ο τύπος διευκολύνει τον γενικό προγραμματισμό μέσω συναρτήσεων και τύπων.
Η JavaScript είναι μια από τις πιο δημοφιλείς λειτουργικές γλώσσες προγραμματισμού.
Παράδειγμα λειτουργικού προγράμματος
const πελάτης = {
IdNumber: 1002,
Όνομα: 'Jane Jones',
Κωδικός πελάτη: "νέο"
}const main = (πελάτης, λειτουργία, αξία) => {
var total = func.apply (null, [ πελάτης. CustomerCode, τιμή ]);
console.log(`${πελάτης. Όνομα} σύνολο είναι: ${total}`);
}const grandTotal = (CustomerCode, total) => {
if (CustomerCode == "νέο") {
έκπτωση = σύνολο * 0,05;
mainTotal = σύνολο - έκπτωση;
επιστροφή mainTotal;
} else if (CustomerCode == "pre") {
έκπτωση = σύνολο * 0,10;
mainTotal = σύνολο - έκπτωση;
επιστροφή mainTotal;
}
}
κύριος (Πελάτης, grandTotal, 600);
Το παραπάνω πρόγραμμα JavaScript έχει ένα αντικείμενο κυριολεκτικά και δύο λειτουργίες. Δηλώνει καθεμία από τις συναρτήσεις ως έκφραση χρησιμοποιώντας το Λειτουργία βέλους JavaScript. ο κύριος() η συνάρτηση είναι μια συνάρτηση υψηλότερης τάξης. Παίρνει το σύνολο συνάρτηση ως ένα από τα ορίσματά του, στη συνέχεια καλεί αυτήν τη συνάρτηση. Αυτό είναι επίσης ένα παράδειγμα παραμετρικού πολυμορφισμού.
ο σύνολο() η συνάρτηση περιέχει πολλές εκφράσεις και το Πελάτηςαντικείμενο είναι ένα παράδειγμα αφαίρεσης δεδομένων. Το παραπάνω πρόγραμμα δημιουργεί την ακόλουθη έξοδο στην κονσόλα:
Το σύνολο της Jane Jones είναι: $570
Η πολυπλοκότητα των γλωσσών προγραμματισμού
Μια γλώσσα προγραμματισμού μπορεί να ενσωματώνει τις έννοιες ενός παραδείγματος προγραμματισμού, αλλά αυτό δεν σημαίνει ότι περιορίζεται σε ένα παράδειγμα. Πολλές από τις δημοφιλείς γλώσσες προγραμματισμού (όπως Python, Java, JavaScript και C++) είναι γλώσσες πολλαπλών παραδειγμάτων.
Μερικά παραδείγματα προγραμματισμού, όπως τα επιτακτικά και αντικειμενοστραφή παραδείγματα, σχετίζονται επίσης. Όμως, παρά αυτή τη συγγένεια, υπάρχουν κάποιες σημαντικές διαφορές.
Αντικειμενοστραφής προγραμματισμός vs. Διαδικαστικός προγραμματισμός: Τι τους κάνει διαφορετικούς;
Διαβάστε Επόμενο
Σχετικά θέματα
- Προγραμματισμός
- Προγραμματισμός
- Λειτουργικός Προγραμματισμός
- Αντικειμενοστραφής προγραμματισμός
- Γλώσσες προγραμματισμού
Σχετικά με τον Συγγραφέα
Η Kadeisha Kean είναι προγραμματιστής λογισμικού Full-Stack και συγγραφέας τεχνικής/τεχνολογίας. Έχει τη διακριτή ικανότητα να απλοποιεί μερικές από τις πιο σύνθετες τεχνολογικές έννοιες. παραγωγή υλικού που μπορεί να γίνει εύκολα κατανοητό από κάθε αρχάριο της τεχνολογίας. Είναι παθιασμένη με τη συγγραφή, την ανάπτυξη ενδιαφέροντος λογισμικού και το ταξίδι στον κόσμο (μέσω ντοκιμαντέρ).
Εγγραφείτε στο ενημερωτικό μας δελτίο
Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!
Κάντε κλικ εδώ για να εγγραφείτε