Все является объектом
Объект - это фундаментальный строительный блок объектно-ориентированного языка. Целые числа, строки, числа с плавающей запятой, даже массивы и словари - все это объекты. Более конкретно, любое одно целое число или любая отдельная строка является объектом. Число 12 - это объект, строка «привет, мир» - это объект, список - это объект, который может содержать другие объекты и т. Д. Вы использовали объекты все время и, возможно, даже не понимаете этого.
Объекты имеют типы
Каждый объект имеет тип, и этот тип определяет, что вы можете делать с объектом. Например, тип int
определяет, что происходит, когда вы добавляете что-то в int, что происходит, когда вы пытаетесь преобразовать это в строку, и так далее.
Концептуально, если не буквально, другое слово для type будет class . Когда вы определяете класс, вы по сути определяете свой собственный тип. Точно так же, как 12
является экземпляром целого числа, а "hello world"
является экземпляром строки, вы можете создать свой собственный тип, а затем создать экземпляры этого типа. Каждый экземпляр является объектом.
Классы - это просто пользовательские типы
Большинство программ, которые выходят за рамки простой печати строки на дисплее, должны управлять чем-то большим, чем просто числами и строками. Например, вы можете написать программу для работы с изображениями, например, фотошоп. Или, может быть, вы создаете конкурента iTunes и вам нужно манипулировать песнями и коллекциями песен. Или, может быть, вы пишете программу для управления рецептами.
Одна картинка, отдельная песня или один рецепт являются объектами определенного типа. Единственное отличие состоит в том, что вместо того, чтобы ваш объект был типом, предоставляемым языком (например: целые числа, строки и т. Д.), Это то, что вы определяете сами.