|
|
|||||||||||||||||||||||||||||
|
Delphi 2007 - новинки языка по сравнению с Delphi 7 (исходники)Источник: NoNaMe Codegear, перевод: alex_sporik
1. Директива inline - процедуры могут теперь быть маркированы как inline. В этом случае компилятор просто подставляет тело такой процедуры в точку вызова. 2. Перегрузка операторов (не путать с методами). Поясню - теперь вы можете написать свой оператор наподобие + или -.
3. Сlass Helpers - Это классы ассоциированные с каким либо классом и содержащем методы которые могут быть использованы при работе с основным классом. Это своеобразный способ расширить функциональность базового класса не прибегая к наследованию. Codegear не рекомендуют использовать этот путь для основного кодирования - а только как "быстрый" способ улучшить существующий код.
Зато теперь вы можете "улучшить" код какого нибудь компонента не переписывая его ;) 4. strict private - наконец то private стал приватным по настоящему. Когда вы описываете методы как приватные они все равно видны по крайней мере в рамках одного unit. То есть это отношение "friend" в терминах C++. Когда вы делаете метод strict private - это означает действительно приватный метод или свойство для класса и не не видим никому, даже в рамках unit. 5. strict protected - по образу и подобию п.4 - только такие методы будут видимы самому классу владельцу и его наследникам. И никакого friendship ;) 6. Записи с методами. Record теперь может иметь не только свойства но и методы (конструкторы в том числе), классовые свойства, методы, свойства а также вложенные типы. 7. Астрактные классы - Теперь не только методы но и сами классы могут быть абстрактными. 8. Sealed class - так называемые "запечатанные классы" - то есть классы от которых нельзя породить наследника. 9. Классовые константы 10. Типы внутри класса - класс может теперь содержать объявления типов которые используются только втрутри класса. 11. Классовые переменные и константы - теперь можно вот так: 12. Вложенные классы - сделаны для того чтобы концептуально родственные типы были близко и для того чтобы предотвратить возможные конфликты имен. 13. final methods - виртуальные методы которые вы перекрываете могут быть помечены как final, что сделает невозможным их дальнейшее перекрытие. 14. sealed classes - теперь классы могут быть sealed и в противоположность class abstract не могут имеить наследников. 15. Статические методы классов. - то что мы все так хотели. Теперь методы могут быть вызваны без создания экземпляра класса. В такие методы не передается указатель Self и разумеется такие методы не могут использовать даные экземпляра класса. 16. for-element-in-collection - по заявкам VB-шников. Теперь ваш любимый for each работает и в дельфи 17. Динамическая инициализация массивов 18. Директива experimental 19. Перегрузка свойств класса типа array P.S. Заранее извиняюсь за крайне ужасное качество картинок. Фотографировал пленочной камерой с проектора :)) P.P.S. шутка :))) Ссылки по теме
|
|