Урок C# №14: «Пишем свой класс»


Чтобы понять, что такое объект, его нужно испробовать. Для этого нужно написать класс, а потом создать его экземпляр (или объект, как часто говорят). В C# синтаксис создания классов несколько изменился по сравнению с C++, хотя общий вид примерно похож.

class  ИмяКласса { [конструктор]  //если не задали конструктор явно, то используется конструктор по умолчанию поля;

свойства;

методы; [деструктор] //такая же ситуация, как и с конструктором }

Класс относится к типам данных, разрабатываемом самим программистом. Чтобы сообщить компилятору, что это класс, мы объявляем его ключевым словом class, после которого уже даем имя класса. Затем в фигурных скобках мы описываем поля, свойства, методы, конструкторы (если они нужны) и деструкторы. Кроме того, в C#, равно как и в его предшественнике C++, нужно задавать модификаторы доступа. Подробнее о них поговорим в других уроках.

 

В C# их несколько разновидностей, каждая из которых заслуживает отдельного внимания, но в рамках этих нескольких вводных уроков по ООП мы ограничимся всего двумя модификаторами – это private и public. Помните об инкапсуляции? Ничего лишнего не должно вылазить из класса. Так вот, это как раз достигается с помощью модификаторов доступа. Модификатор private сообщает C# тот факт, что члены класса будут видны только другим членам и методам этого класса.

Вы не сможете взять и вызвать метод или обратиться к переменной  из другого класса. Обратите внимание, что все что помечено как private, в C# при наследовании будет недоступно потомку. Вместо этого используется модификатор protected, о котором мы поговорим в других уроках. Вообще, все что создается в C# по умолчанию является private. Такое уж наследие от C++. На самом деле, это весьма удобно. Ведь переменные класса не должны быть доступны кому-либо, кроме самого класса. В C++ обращение к таким переменным осуществлялось с помощью специальных методов-аксессоров (так называемые геттеры и сеттеры). В C# были введены свойства, которые как раз и заменяют вышеупомянутые кострукции.

В общем, пока вам нужно знать, что если вы явно не задали модификатор, то он будет private (классы тоже имеют модификатор, так что учтите это). С модификатором public все значительно проще – все, что помечено этим модификатором доступно из любого места вашей программы. Часто им помечают методы и свойства, а также классы. Думаю, что с принципом модификаторов вы немного разобрались, чтобы мы могли рассмотреть дальнейший код.

Давайте создадим наш первый класс. Пусть это будет класс Human. Именно на базе этого класса мы и будем разбирать все ООП моего курса по C#.  В этом уроке мы создадим каркас класса. Итак,  запустите вашу Visual Studio и создайте новый проект, назовите его к примеру OOP. Теперь нам нужно создать новый класс Human. Для этого зайдите в Обозреватель решений вашего проекта, нажмите правую кнопку мышки  и выберите Добавить ->Класс. После этого выберите шаблон класса, дайте ему имя Human и нажмите Ок. Среда создаст нам готовый скелет будущего класса. Физически у вас в папке проекта создастся файл Human.cs. Его потом можно будет подключать к нашей программе (по факту, классу) или к другому. Фактически, сейчас я несколько вас ввел в заблуждение тем фактом, что не создал новое пространство имен. Часто нужно это делать, потому что потом проще делать сборки и группировать классы. Но об этом поговорим в других уроках. Как видите, студия любезно предоставила нам шаблон класса, где уже объявлен Human. Мы можем в нашем проекте теперь его использовать в даже таком примитивном виде. Делается достаточно просто:

 Human human; //объявили переменную human класса
 Human human= new Human (); //создали экземпляр класса Human.
//Или как это правильно делается:Human human=new Human (); 

Все, теперь у нас в памяти болтается экземпляр класса, который абсолютно ничего пока не умеет делать. В следующем уроке мы начнем наращивать на наш скелет мышцы и учить его что-то делать. На этом пока все.

<<Предыдущий урок                                                               Следующий урок>>

Яндекс.Метрика