Тимофей Мартынов
Тимофей Мартынов Рецензии на книги
11 декабря 2012, 21:28

Изучаю программирование на C#. Мысли.

Решил факультативно изучить язык программирования C#.

Цель?
  • Автоматизировать выполнение ряда задач по трейдингу.
  • Преодолеть панический страх перед программированием.
  • Иметь возможность самостоятельно писать скрипты для WealthLab, TSLab.

Изучаю программирование на C#. Мысли.

Сразу скажу, что мозг у меня абсолютно гуманитарный и творческий, нежели системно-технический. Хоть я и учился на Факультете Технической Кибернетики, и что-то то там линейное несложное в университете программировал, откровенно говоря после защиты диплома я даже не совсем понимал суть объектно-ориентированного программирования. Университет скорее не научил меня, а привил панический страх к программированию и уверенность в том, что это нереально просто для меня освоить что-то такое.

Хотя с другой стороны, техническое образование в целом, расширяет глаза и дает понять, что реально освоить все что угодно.

Должен сказать, что изучение даже этой, наверное, самой достурной и лоховской книжки по изучению языка C# заставляет мой мозг кипеть, как  не кипел он уже давно. Хотя с другой стороны, это особое удовольствие — получать кайф от интеллектуальной нагрузки, после того как твой мозг дремал последние лет 6.

Я вдумчиво прочел 220 страниц этой книги (из 700), реализовал на C# 19 программ, примеры которых описаны в книге. 

Чему я успел научиться?
  • чуть-чуть начал понимать суть ООП.
  • освоил понятие классов, экземпляров, методов.
  • отличие метода от поля
  • ссылки на объекты
  • вкурил в прелесть Visual Studio по созданию визуальных интерфейсов под винды
  • чуть-чуть начал врубаться как софт взаимодействует с БД
  • проверка условий, и операторы цикла — все как везде, даже ничего нового не обнаружил
  • повторил типы переменных
  • реализация массивов данных
  • дошел до инкапсуляции и немного встрял
Вообще конечно «набегом» осваивать книжку не получается. Прежде чем перейти к следующей теме, стараюсь полностью разобраться с предыдущей, хотя это может занимать целый день.

Щя вот дошел до темы «инкапсуляция при помощи свойств». Час смотрю на текст кода и не могу врубиться что к чему:)) Может просто устал.

Просто смотрю и не могу понять, зачем это:))
Изучаю программирование на C#. Мысли.


Оставил этот пример, двинул дальше.

Дальше идет следующая строчка:

public int BagsOfFeed { get; private set; }
public int FeedMultiplier { get { return FeedMultiplier; } }

здесь уж у меня совсем ступор. Не могу понять, что эти get и set делают, что это такое и как они здесь оказались.

 
76 Комментариев
  • VpnS
    11 декабря 2012, 21:34
    это свойства класса.
    используются как правило для заполнения/считывания private полей класса, т.е. для безопасности.
    хотя и без них можно прожить.
  • Максим Макаров
    11 декабря 2012, 21:34
    Инкапсуляция — способность прятать детали реализации объектов от пользователей этих объектов. За счет инкапсуляции программирование становится: проще: вам нет необходимости беспокоиться об огромном количестве строк кода, которые выполняют свою задачу, скрыто от вас. Все, что от вас требуется — создать экземпляр нужного класса и передать ему необходимые сообщения.
    С философией инкапсуляции тесно связан еще один принцип — сокрытия всех внутренних данных (то есть переменных-членов) класса. Как мы уже говорили, в идеале все внутренние переменные члены класса должны быть определены как private. В результате обращение к ним из внешнего мира будет возможно только при помощи открытых функций — членов. Такое решение, помимо всего прочего, защищает вас от возможных ошибок, поскольку открытые данные очень просто повредить…
  • siva
    11 декабря 2012, 21:37
    Обращаешься к элементам класса не напрямую, а через свойства. Что тут непонятного-то? :)
  • VpnS
    11 декабря 2012, 21:38
    вот из вики пример

    class MyClass
    {
    private int p_field;
    public int Field
    {
    get
    {
    return p_field;
    }
    private set
    {
    p_field = value;
    }
    }
    }

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн