Принципы объектно-ориентированного программирования

         

Статические методы



Статические методы

Статическим называется метод, который существует в классе как в таковом, а не в отдельных его экземплярах. Как и в случае других статических членов, главное преимущество статических методов в том, что они расположены вне конкретных экземпляров класса, не засоряя глобальное пространство приложения. При этом они и не нарушают принципов ООП, поскольку ассоциированы с определенным классом. Примером может служить API баз данных, написанный мной на С#. В моей иерархии классов есть класс SQLServerDb. Помимо базовых операций для работы с БД (new, update, read и delete), класс содержит метод, предназкаченный для восстановления БД. В методе Repair не нужно открывать саму БД. Я использую функцию ODBC (SQLConfigDataSource), которая предполагает, что БД закрыта. Однако, конструктор SQLServerDb открыл БД, указанную переданным ему именем. Поэтому здесь очень удобно использовать статический метод. Это позволило мне поместить метод в класс SQLServerDb, к которому он принадлежит, и даже не обращаться к конструктору моего класса. Очевидно, выгода клиента в том, что он также не должен создавать экземпляр класса SQLServerDb. В следующем примере вы можете видеть вызов статического метода (RepairDatabast) из метода Main. Заметьте, что для этого не создается экземпляр SQLServerDB:





Содержание раздела