Qu'est-ce que l'utilisation de la statique modificateur dans la programmation orientée objet?
Dans l'un de mes entretiens, j'ai été demandé à ce que le static
modificateur signifie. J'ai répondu en disant à l'interviewer que statique de la classe de l'objet ne peut être créé et autres points utiles.
Mais l'interviewer a demandé qu'est-ce que l'utilisation de la création d'une telle catégorie dont les objets ne peuvent pas être créés. En gros, ils ont de se demander pourquoi est static
nécessaire en premier lieu?
Je ne suis pas vraiment sûr de savoir comment répondre à cette question. Que dois-je dit?
Je l'ai dit, il n'y a pas une telle chose comme "statique" dans la programmation orientée-objet. Certaines langues qui prennent également en charge OO également en charge statique. Je ne serais probablement pas avoir obtenu le poste.
OriginalL'auteur Romil N | 2011-04-27
Vous devez vous connecter pour publier un commentaire.
L'interviewer a probablement voulu vous pour discuter de la conception orientée objet et les motifs, plus que ce qu'ils voulaient de vous réciter la définition de ce modificateur. Il n'y a vraiment pas de bonne réponse ici. Les puristes diront que
static
est une abomination. Les pragmatiques diront qu'il remplit un trou béant dans le "tout est objet" d'abstraction, vous permettant d'appeler les méthodes de l'utilitaire pour qui ça n'a pas de sens d'instancier un nouvel objet juste à les appeler. L'exemple canonique de ce est leSystem.Math
de la classe.La règle générale que la plupart des programmeurs suivre est que, si les données que vous êtes d'exploitation sur n'est associée à aucune instance particulière d'un objet, il a probablement fait sens pour que le champ/la méthode à être marqué comme statique. Sinon, il devrait probablement être un membre régulier de l'instance de l'objet.
La La documentation MSDN a une très bonne explication déjà:
La
static
modificateur a également des utilisations plus spécifiques en C#, tels que la définition des méthodes d'extension (ce qui ne peut être définie à l'intérieur d'une classe statique), la définition de l'interopérabilité des méthodes, etc. Il est également intéressant de noter que toutes les classes statiques sontsealed
en C#, parce que sans un constructeur, ils ne peuvent pas être héritée.OriginalL'auteur Cody Gray
Statique ne s'applique pas seulement aux classes, les membres peuvent être statiques. La raison de l'utilisation statique est de fournir de l'utilitaire de type de fonctionnalité qui ne fait pas de sens pour instancier un objet pour l'utiliser. E. g. Pourquoi voulez-vous créer un int pour utiliser
int.Parse()
OriginalL'auteur Ben Robinson
Vous pouvez regarder "statique" à l'égard de la état d'un objet/classe.
D'autres ont donné quelques exemples qui sont utiles et je ne vais pas réitérer.
OriginalL'auteur Sandeep G B
Voir http://msdn.microsoft.com/en-us/library/79b3xss3%28v=vs.80%29.aspx - il explique les avantages de classes statiques.
static
peut être appliquée à des classes en C#. Je ne connais pas les détails, mais sans doute cela fonctionne par analogie avec les membres statiques, dans une classe statique est une fois par quelque chose, éventuellement par domaine d'application.Vous pouvez marquer une classe comme
static
trop. Et puis pas de cas de ce qui peut être créé.Ne le savais pas. J'ai mis à jour ma réponse.
OriginalL'auteur ThiefMaster
Le modificateur static signifie qu'un membre de la classe appartient à la classe elle-même plutôt que pour des instances de la classe.
Le membre statique ne peut pas être répliqué dans l'application, même si le nombre d'instances de la classe sont créés.
voir le lien suivant pour plus d'info Statique Des Modificateurs
Voir l'exemple suivant, la classe à l'aide de membres statiques:
OriginalL'auteur Ashraf Abusada
Les classes statiques sont utiles lorsqu'elles opèrent sur des données externes et n'avez pas besoin de définir ou récupérer n'importe quel champ(s).
Et les méthodes d'extension ne peut être défini dans les classes statiques.
les champs statiques peuvent être utilisés non statique de la classe.
OriginalL'auteur lnu