Механизм RTTI (Runtime Type Information) предназначен для получения и использования информации о типах во время выполнения программы. RTTI освобождает разработчика от необходимости выполнять всю работу с типами на стадии компиляции и открывает немало замечательных возможностей.
Обычные классы и методы работают с конкретными типами: либо, примитивами, либо с классами. Если ваш код должен работать с разными типами, такая жесткость может создавать проблемы.
Одним из механизмов обеспечения универсальности кода в объектно-ориентированных языках является полиморфизм. Например, вы можете написать метод, который получает в аргументе объект базового класса, а затем использует этот метод с любым классом, производным от него. Метод становится чуть более универсальным, а область его применения расширяется. Это относится и к классам — использование базового класса вместо производного обеспечивает дополнительную гибкость. Конечно, наследование возможно только для классов, не являющихся final.
В конце главы 5 было показано, как определить и инициализировать массив. Программист создает и инициализирует массивы, извлекает из них элементы по целочисленным индексам, а размер массива остается неизменным. Как правило, при работе с массивами этого вполне достаточно, но иногда приходится выполнять более сложные операции, а также оценивать эффективность массива по сравнению с другими контейнерами. В этой главе массивы рассматриваются на более глубоком уровне.
Создание хорошей системы ввода/вывода является одной из труднейших задач разработчика языка. Доказательством этого утверждения служит множество подходов, используемых при разработке систем ввода/вывода.
До настоящего момента мы имели дело исключительно с последовательным программированием. Все действия, выполняемые программой, выполнялись друг за другом, то есть последовательно.
В ходе компьютерной революции выяснилось, что основной причиной чрезмерных затрат в программировании является «небезопасное» программирование. Основные проблемы с безопасностью относятся к инициализации и завершению. Очень многие ошибки при программировании на языке C обусловлены неверной инициализацией переменных. Это особенно часто происходит при работе с библиотеками, когда пользователи не знают, как нужно инициализировать компонент библиотеки, или забывают это сделать.
Когда то давно, Джимми Картер будучи президентом США решил выучить испанский язык. Свое оригинальное (для Президента) решение, Картер воплощал в жизнь не менее оригинальным способом - в качестве учебника испанского языка он выбрал ... обычную Библию(испано-язычной версии). И таки - получилось
Большинство людей имеют по крайней мере один ящик (а иногда даже целый шкаф или кабинет) в своем доме, где хранятся разные мелочи. Хотя его часто называют просто - "выдвижной ящик", но довольно много разных весьма полезных штуковин в конечном итоге, может оказаться, там. Такие вещи, как рулетка, зажимы, ручки, карандаши, чертежные кнопки, несколько запасных батарей, и т.д. как правило, всегда найдутся дома в подобном месте. Обычно, вы не используете эти предметы каждый день, но вы точно знаете что если отключат электричество, вы пороетесь в этом ящике и обязательно найдете батареи, которые вставите в ваш фонарь.
Все началось с компонента (bean) В 1996 язык программирования Java был еще молодой, захватывающей, перспективной платформой. Многие разработчики пришли в этот язык после того, как они увидели, как создавать богатые и динамические web-приложения используя апплеты.