February 22, 2020

Классы и объекты

Привет, ребят. Сегодня продолжаем говорить об объектно-ориентированном программировании, а именно поговорим о классах и объектах

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

Проведем аналогию с домашним питомцем. У него есть имя, вид(собака\кошка и т.д.) и возраст. Любой домашний питомец будет классом, а котенок Гав будет уже экземпляром этого класса.

При создание любого приложения в Visual Studio у вас по умолчанию есть класс Program, но я предлагаю создать новый и рассмотреть все особенности синтаксиса

class Pets
    {
        public string name;
        public string breed;
        
        public int age;
        
        public void Info()
        {
            Console.WriteLine(quot;Имя: {name} Тип: {breed} Возраст: {age}");
        }
    }

И так, мы создали класс Pets. Функциональность этого класса выполняется его полями( это переменные класса ) - name; breed; age

Так же в класса мы создали функцию Info, которая просто выводит данные в консоль.

Но как нам задать этим полям данные и создать своего питомца? - Для этого в классе Program создаем экземпляр класса Pets и обращаясь к каждому из полей заполнить все поля.

class Program
    {
        static void Main(string[] args)
        {
            Pets pet = new Pets();
            
            pet.age = 5;
            pet.breed = "dog";
            pet.name = "Woof";
            
            pet.Info();
            
            Console.ReadLine();
        }
    }

И так, создается экземпляр класса следующей конструкцией:

[ Имя_класса ] имя_экземпляра = new [ Имя_класса ]

Обращаться к полям можно через точку и имя поля.

Таким образом мы заполняли все поля и при запуске программы получили следующее:

Пример выше является конструктором по умолчанию, но мы можем определить конструкторы сами. Это будет тема следующего урока - подписывайся чтобы не пропустить!

Удачи, программисты!