Sind geschützte Mitglieder / Felder wirklich so schlecht?

Now Wenn Sie die Namenskonventionen in MSDN for C # lesen, werden Sie feststellen, dass Eigenschaften immer öffentlichen und geschützten Feldern vorgezogen werden. Einige Leute haben mir sogar gesagt, dass Sie niemals öffentliche oder geschützte Felder benutzen sollten. Jetzt werde ich zustimmen, dass ich noch keinen Grund gefunden habe, warum ich ein öffentliches Feld haben muss, aber sind geschützte Felder wirklich so schlecht?

Ich kann es sehen, wenn Sie sicherstellen müssen, dass bestimmte Validierungsprüfungen durchgeführt werden, wenn Sie den Wert abrufen / einstellen, aber meiner Meinung nach scheint es die meiste Zeit nur ein zusätzlicher Aufwand zu sein. Sagen wir mal, ich habe eine Klasse GameItem mit Feldern für baseName, prefixName und suffixName. Warum sollte ich den Aufwand für das Erstellen der Eigenschaften auf mich nehmen C#) oder Zugriffsmethoden und der Leistungsverlust, den ich erleiden würde (wenn ich dies für jedes einzelne Feld in einer Anwendung mache, bin ich mir sicher, dass es sich insbesondere in bestimmten Sprachen wie @ etwas weniger summierPHP oder bestimmte Anwendungen mit einer kritischen Leistung wie Spiele)?

Antworten auf die Frage(12)

Ihre Antwort auf die Frage