Объектно-ориентированное программирование на языке С++. Лясин Д.Н - 30 стр.

UptoLike

Составители: 

30
Необходимо также отметить, что на статические компоненты класса дейст-
вуют ограничения по области видимости, задаваемые ключевыми словами public,
protected и private в теле класса.
Объявим компонент percent класса client статическим.
//Листинг 13. Использование статических компонент в класса
class client
{ …
public:
static float percent;
};
float client::percent=0.1;
main()
{client::percent=0.2; //работать со статическими компонентными данными можно еще до
//определения объектов класса
client c(“Иванов”,”N12345”,200);
c.percent=0.05; //а можно и через имя уже определенного объекта
}
Статическими могут быть объявлены не только компонентные данные, но и
методы класса. Очевидно, что объявление метода класса статическим носит иное
назначение, нежели чем компонентного члена данных, поскольку методы класса,
как уже говорилось, и так существуют в памяти в единственном экземпляре. Ста-
тические методы класса обычно выступают в качестве интерфейса для работы
с
частными или защищенными статическими компонентными данными. Если, на-
пример, объявить компонент percent в классе client частным, то изменять его зна-
чение можно будет только с использованием метода ChangePercent. Однако вы-
звать метод ChangePercent можно только для конкретного объекта класса, тогда
как изменять статические компонентные данные можно и без наличия созданных
объектов.
Статические методы класса позволяют работать со статическими ком-
понентными данными без использования объектов данного класса. Объявляются
такие методы в теле класса через ключевое слово static:
static тип имя_статического_метода( список_формальных_параметров );
Вызывать статическую компонентную функцию класса можно, используя
имя уже определенного объекта, а также через имя класса:
      Необходимо также отметить, что на статические компоненты класса дейст-
вуют ограничения по области видимости, задаваемые ключевыми словами public,
protected и private в теле класса.
      Объявим компонент percent класса client статическим.
//Листинг 13. Использование статических компонент в класса
class client
   {…
   public:
     static float percent;
    …
    };
float client::percent=0.1;
main()
{client::percent=0.2; //работать со статическими компонентными данными можно еще до
                         //определения объектов класса…
  client c(“Иванов”,”N12345”,200);
  c.percent=0.05;          //…а можно и через имя уже определенного объекта
}
      Статическими могут быть объявлены не только компонентные данные, но и
методы класса. Очевидно, что объявление метода класса статическим носит иное
назначение, нежели чем компонентного члена данных, поскольку методы класса,
как уже говорилось, и так существуют в памяти в единственном экземпляре. Ста-
тические методы класса обычно выступают в качестве интерфейса для работы с
частными или защищенными статическими компонентными данными. Если, на-
пример, объявить компонент percent в классе client частным, то изменять его зна-
чение можно будет только с использованием метода ChangePercent. Однако вы-
звать метод ChangePercent можно только для конкретного объекта класса, тогда
как изменять статические компонентные данные можно и без наличия созданных
объектов. Статические методы класса позволяют работать со статическими ком-
понентными данными без использования объектов данного класса. Объявляются
такие методы в теле класса через ключевое слово static:
   static тип имя_статического_метода( список_формальных_параметров );
      Вызывать статическую компонентную функцию класса можно, используя
имя уже определенного объекта, а также через имя класса:

                                            30