C# с нуля. Урок 7 — классы как контейнер для методов. ФИО класса: namespace и using

Разбираю детально как использовать классы в качестве контейнеров. Разбираю, что такое namespace и как этим пользоваться. Все подробно и с примерами.

Исходники под катом.

Исходные коды целиком тут https://yadi.sk/d/5eK5ixQOej9DPw

Ниже только выборочные отрывки из программы к уроку.

            //Тема урока: Классы как контейнер для методов

            //1. Первый класс, имя класса

            //2. неймспейс и ФИО класса
            //Console.WriteLine(Ivan.Name());
            //Console.WriteLine(PetrIvanovich.Name());
            //Console.WriteLine(PetrPetrovich.Name());

            //3. using - выставляем контекст, кого мы знаем, а кого нет. С кем общаемся по дружески, а с кем по ФИО

            //3. Видимость метода из вне, как и область видимости переменной
            //public и private

            //Console.WriteLine(Stepan.FullName());

            //4. местоположение класса
            //4.1. внутри общего файла
            //4.2. в отдельной файле
            //4.3. в отдельном проекте

            //5. Видимость класса
            //public и internal

            //6. что класть внутрь класса?
            //6.1. сходные методы и чужеродные методы
            //Console.WriteLine(Calc.Add(10, 10));
            //Console.WriteLine(Calc.Sub(10, 5));
            //Console.WriteLine(StringCalc.StringLength("Привет!"));
            //Console.WriteLine(Calc.Random(5, 10));

            //6.2. родственные классы
            Console.WriteLine(Stepan.Body.HeadCount());
            //7. видимость класса private
            //7.1. группировка методов внутри класса
namespace Lesson7
{
    //семейка братьев Ивановых
    namespace Ivanov.Ivanovich
    {
        //два "брата"-акробата

        public static class Ivan
        {
            public static string Name()
            {
                return "Иван Иванович Иванов";
            }

        }

        public static class Petr
        {
            public static string Name()
            {
                return "Петр Иванович Иванов";
            }
        }
    }

}
namespace Lesson7
{
    //однофамилец
    namespace Ivanov.Petrovich
    {
        public static class Petr
        {
            public static string Name()
            {
                return "Петр Петрович Иванов";
            }
        }
    }
}

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *