Введение в теорию программирования. Объектно-ориентированный подход



             

Основные понятия объектно-ориентированного подхода: объекты, классы и методы - часть 2


Как и поля, методы описываются в блоке описания класса.

Рассмотрим особенности использования методов на примере следующей программы на языке C#, представляющей описание класса C с полями sum и n и методами Add и Mean:

class C { int sum = 0, n = 0; public void Add (int x){ sum = sum + x; n++; //процедура } public float Mean(){ return(float)sum/n; //функция(должна возвратить //значение) } }

Прежде всего, отметим, что методы в языке программирования C# делятся на функции (которые обязаны возвращать значение) и процедуры (которые могут и не возвращать значения, на что указывает тип void). В данном примере Add - процедура, а Mean - функция, в которой возврат значения явно указывается оператором return. Доступ к методу, как и к полю, можно получить изнутри класса:

this.Add(3); float x = Mean();

а также из других классов, с явным указанием полного имени:

C c = new C(); c.Add(3); float x = c.Mean();

Заметим, что оператор this представляет собой указатель на текущий объект.

Продолжая аналогию между полями и методами как элементами классов, мы приходим к понятию статического метода. Рассмотрим особенности реализации статических методов в языке программирования C# на следующем примере:

class Rectangle { static Color defaultColor; public static void ResetColor() { defaultColor = Color.white; } }

Как явствует из приведенного примера, под статическим методом понимается операция, определенная над статическими элементами классов (т.е. над статическими полями).

В данном примере описания класса Rectangle статическим является метод ResetColor (заметим, что он не возвращает значения, т.е. ResetColor - это статическая процедура).

По аналогии с предыдущими случаями, для доступа к статическому методу изнутри класса достаточно указать только краткое имя данного метода:

ResetColor();

В случае доступа из сторонних классов необходимо указать полное имя статического метода:

Rectangle.ResetColor();

Исследовав особенности описания и управления поведением основных элементов классов, объектов и методов для динамического и статического случаев, кратко остановимся на особенностях наследования свойств (полей и методов) классов объектов языка программирования C#.


Содержание  Назад  Вперед