|
ООП С# Классы
Члены класса
До сих пор вы видели, что существуют две стороны объекта: что он делает — это то, что общеизвестно, и как он работает — что обычно скрыто. В программировании “что он делает” обычно представлено в первую очередь методами, являющимися функциональными блоками, которые можно использовать. Метод — это просто термин C#, обозначающий функцию. “Как он работает” — представлено как методами, так и данными (переменными), которые хранит в себе объект. В Java или C++ эти данные называют переменными-членами, в то время как в Visual Basic эти данные должны быть представлены любыми переменными уровня модуля в конкретном модуле класса. В C# принят термин поля. В общем случае класс определяется своими полями и методами. Термин член (member) используется для обозначения всего, что является частью класса — будь то поле, метод или любой другой элемент, упомянутый выше, который может быть определен внутри класса.
Определение класса
Проще всего понять, как кодировать классы C#, рассмотрев пример. В последующих разделах мы разработаем простой класс с именем Authenticator. Предположим, что вы пишете крупное приложение, которое в некоторый момент потребует от пользователя регистрации с указанием пароля. Authenticator — класс, который будет обрабатывать этот аспект программы. Вам не нужно беспокоиться об остальной части приложения — вы просто концентрируетесь на написании класса. Однако вам также придется написать небольшой тестовый код для проверки, работает ли Authenticator так, как задумано. Authenticator позволяет делать две вещи: устанавливать новый пароль и проверять правильность пароля. Код C#, необходимый для определения класса выглядит следующим образом:
public class Authenticator
{
private string password = "";
public bool IsPasswordCorrect(string tryPassword)
{
return (tryPassword == password) ? true : false;
}
public bool ChangePassword(string oldPassword, string newPassword)
{
if (oldPassword == password) {
password = newPassword;
return true;
} else return false;
}
}
Ключевое слово class в C# означает, что вы собираетесь определить новый класс (тип объекта). Слово, следующее немедленно за class, — это имя класса. Далее идет собственно определение объекта, состоящее из переменных (полей) и методов, после которых следуют скобки. В данном примере определение состоит из одного поля password и двух методов — IsPasswordCorrect() и ChangePassword().
|