Концептуальный вопрос новичка об ООП и настойчивости

Это очень простой вопрос об ООП (я использую python, но на самом деле это концептуальный вопрос, поэтому он не зависит от языка). Я осмотрелся, но ни в каких руководствах или книгах нет ответа на этот конкретный вопрос. Если мне что-то непонятно, я прошу прощения и с радостью поясню все, что я написал.

Допустим, я создаю простую адресную книгу, которую хочу записать на диск с помощью pickle. У меня есть класс под названием Contact , где __ init __ принимает некоторые аргументы (firstName и lastName), и у меня есть меню, в котором вы можете создавать контакты, редактировать их и т. Д. Для всех примеров ООП я видели, что они делают что-то вроде ...

bob = Contact('Bob', 'Smith') 
jane = Contact('Jane', 'Smith')

... для создания новых экземпляров Контакта. Но все они определены до времени выполнения. Что произойдет, если я захочу, чтобы все эти экземпляры создавались «на лету» путем ввода данных пользователем? Могу ли я создавать новые экземпляры для каждого человека? Как мне сделать это с помощью пользовательского ввода? Затем просто записать все экземпляры в список и обработать его? Или вы делаете что-то вроде ...

firstName, lastName = raw_input("Enter first name: "), raw_input("Enter last name: ")    
contact = Contact(firstName, lastName)

... затем просто добавляете контакт в список и получаете новые значения для экземпляра контакта каждый раз, когда я хочу добавить пользователя? Это ключевая концепция, которую я не совсем понимаю (потому что я нигде не видел ее объяснения). Все примеры, которые я видел, не делают вышеуказанного, а вместо этого создают новые экземпляры для каждой вещи / человека, но все они предопределены и не создаются на лету. Я был бы очень благодарен, если бы кто-нибудь объяснил мне эту концепцию.

6
задан johnharris85 1 January 2011 в 21:40
поделиться