Όλα τα χρόνια στο κολέγιο χρησιμοποιούσα το public
και θα ήθελα να ξέρω τη διαφορά μεταξύ public
, private
και protected
;
Επίσης, τι κάνει το static
σε αντίθεση με το να μην έχει τίποτα;
Χμμ.
Δείτε εδώ: Τροποποιητές πρόσβασης.
Με λίγα λόγια:
Public δίνει στη μέθοδο ή τον τύπο πλήρη ορατότητα από άλλους τύπους/κλάσεις.
Το Private επιτρέπει μόνο στον τύπο που περιέχει την ιδιωτική μέθοδο/μεταβλητή πρόσβαση στην ιδιωτική μέθοδο/μεταβλητή (σημειώστε ότι οι εμφωλευμένες κλάσεις έχουν επίσης πρόσβαση στις ιδιωτικές μεθόδους/μεταβλητές των κλάσεων που περιέχουν).
Το Protected είναι παρόμοιο με το private εκτός από το ότι οι παράγωγες κλάσεις μπορούν επίσης να έχουν πρόσβαση σε προστατευμένες μεθόδους.
Το "Nothing" είναι το ισοδύναμο της VB.NET με το null. Αν και αν αναφέρεστε στο "nothing" που σημαίνει "no access modifier", τότε αυτό εξαρτάται, αν και ένας πολύ χονδρικός κανόνας (σίγουρα στη C#) είναι ότι αν δεν καθορίσετε ρητά έναν τροποποιητή πρόσβασης, η δήλωση μεθόδου/μεταβλητής είναι συνήθως όσο πιο περιορισμένη μπορεί να είναι. δηλ.
public class MyClass
{
string s = "";
}
είναι ουσιαστικά το ίδιο με:
public class MyClass
{
private string s = "";
}
Το συνδεδεμένο άρθρο του MSDN θα προσφέρει μια πλήρη περιγραφή όταν δεν υπάρχει ρητά καθορισμένος τροποποιητής πρόσβασης.
Αυτοί οι τροποποιητές πρόσβασης καθορίζουν πού είναι ορατά τα μέλη σας. Μάλλον θα πρέπει να το διαβάσετε αυτό. Πάρτε τον σύνδεσμο που έδωσε ο IainMH ως σημείο εκκίνησης.
Τα στατικά μέλη είναι ένα ανά κλάση και όχι ένα ανά παράδειγμα.