четверг, 13 марта 2014 г.

Кратко. Метод Assign в TPersistent (особенно как виртуальный) - НАФИГ не нужен

По мотивам - http://programmingmindstream.blogspot.ru/2014/03/blog-post_12.html?showComment=1394668252836#c4599232239970773885

Метод Assign в TPersistent (особенно как виртуальный) - НАФИГ не нужен.

Почему?

До потому, что ВИРТУАЛЬНОСТЬ - НИГДЕ практически НЕ ИСПОЛЬЗУЕТСЯ.

Проще было сделать TFont.Assign(aFont: TFont), TBitmap.Assign(aBitmap: TBitmap) etc.

Доказательства?

Почитайте исходники VCL.

4 комментария:

  1. Ответы
    1. Нет. На мой взгляд - ничего здравого.

      Удалить
    2. ну, не знаю. в VCL вроде TPucture наиболее интересно реализует этод метод
      я же к этой странности отношусь нейтрально. сам использую в паре мест, хотя чаще склоняюсь к методу clone..

      Удалить
    3. Именно в TPicture можно было сделать 3 разных статических метода. И это было бы лучше.

      Удалить