Программисты, начинающие осваивать ООП, часто путают термины "объект" и "класс". Чтобы показать их различия, введем в пример EmployeeApp возможность рассчитывать зарплату всему штату компании.
В С-программе мы начали бы с описания массива данных о служащих компании, взяв за основу структуру
EMPLOYEE.
Так как нам неизвестно число служащих компании в расчетный период, мы создали бы статический массив, состоящий, скажем, из 10 000 элементов. Однако когда в компании будет числиться только 1 служащий, такое использование памяти окажется весьма расточительным. Для более эффективного распределения ресурсов надо создать связанный список структур
EMPLOYEE
и по мере необходимости динамически изменять выделение памяти.
Но это именно то, чего, по-моему, делать не следует. Мы будем ломать голову над тем, сколько памяти перераспределить и когда это лучше сделать, вместо того, чтобы сконцентрироваться на предметной области. Обращение к объектной технологии позволит нам сосредоточиться на логике решения задачи, а не на механизме ее реализации.