Σφραγισμένη κλάση

Συγγραφέας: Lewis Jackson
Ημερομηνία Δημιουργίας: 8 Ενδέχεται 2021
Ημερομηνία Ενημέρωσης: 25 Ιούνιος 2024
Anonim
2021 BERING 77 EXPLORER YACHT TOUR / Comfort Class EXPEDITION Liveaboard Go Anywhere World Cruiser
Βίντεο: 2021 BERING 77 EXPLORER YACHT TOUR / Comfort Class EXPEDITION Liveaboard Go Anywhere World Cruiser

Περιεχόμενο

Ορισμός - Τι σημαίνει κλειστή κατηγορία;

Μια σφραγισμένη κλάση, στο C #, είναι μια κλάση που δεν μπορεί να κληρονομείται από οποιαδήποτε κλάση, αλλά μπορεί να παρουσιαστεί σε παράδοση.


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

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


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

Εισαγωγή στη Microsoft Azure και το Microsoft Σε αυτό τον οδηγό θα μάθετε τι είναι το cloud computing και πώς η Microsoft Azure μπορεί να σας βοηθήσει να μεταφέρετε και να εκτελέσετε την επιχείρησή σας από το cloud.

Η Techopedia εξηγεί τη σφραγισμένη κλάση

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


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

Η σφράγιση περιορίζει το πλεονέκτημα της επεκτασιμότητας και εμποδίζει την προσαρμογή των τύπων βιβλιοθήκης. Ως εκ τούτου, μια τάξη πρέπει να σφραγισθεί αφού προσεκτικά βαρύνει την επίδραση της σφράγισης. Ο κατάλογος των κριτηρίων που πρέπει να ληφθούν υπόψη για τη στεγανοποίηση μιας τάξης περιλαμβάνει:
  • Η τάξη είναι στατική
  • Η κλάση περιέχει κληρονομικά μέλη που αντιπροσωπεύουν ευαίσθητες πληροφορίες
  • Η κλάση ερωτάται για την ανάκτηση των χαρακτηριστικών της μέσω της μεθόδου αντανάκλασης
  • Η τάξη κληρονομεί πολλά εικονικά μέλη που πρέπει να σφραγιστούν
Ο ορισμός αυτός γράφτηκε στο con του C #