Bu, OOP hakkında çok temel bir sorudur (python kullanıyorum ama gerçekten de bu, gerçekten bir dile özgü değil, kavramsal bir soru). Etrafa baktım ama bu özel soruyu kapsayan dersler veya kitaplar yok. Eğer belirsiz olduğum halde, özür diliyorum ve yazdığım her şeyi açıklığa kavuşturmaktan mutluluk duyarım.Başlangıç seviyesinde OOP ve süreklilik ile ilgili kavramsal soru
Diyelim ki turşu kullanarak diske yazmak istediğim basit bir adres defteri oluşturuyorum. Ben __init__
bazı args (firstName velastName) alır Contact
adında bir sınıf var ve siz, kişiler oluşturmak Onların böyle bir şey yapsın gördük OOP tüm örnekler için vb düzenleyebilirsiniz nerede ...
bob = Contact('Bob', 'Smith')
jane = Contact('Jane', 'Smith')
. Ancak bunların hepsi çalışma zamanından önce tanımlanmıştır. Kullanıcı girdileri tarafından anında oluşturulan tüm bu örnekleri istediğimde ne olur? Her kişi için yeni örnekler oluşturuyor muyum? Bunu kullanıcı girişinden nasıl yaparım? O zaman tüm örnekleri bir listeye yazıp almayı mı? Ya da ... gibi bir şey yapacağız
firstName, lastName = raw_input("Enter first name: "), raw_input("Enter last name: ")
contact = Contact(firstName, lastName)
... sonra sadece listesine kişiyi eklemek ve iletişim örneğin bir kullanıcı eklemek istediğiniz her zaman yeni değerleri almak? Bu gerçekten anlamadığım önemli bir kavramdır (çünkü bunu gerçekten her yerde açıkladığını görmedim). Gördüğüm tüm örnekler, yukarıdakileri yapmıyorlar, bunun yerine her şey/kişi için yeni örnekler yaratıyorlar ama hepsi önceden tanımlanmış ve anında oluşturulmamış. Bu kavramın bana açıklanması için çok minnettar olurum.
Girilen verileri örneğin adı yapmak için herhangi bir yer var mı? Yoksa bu tamamen gereksiz mi? Veya hatta mümkün mü? Söyleyecek bir şey düşünüyorum ... firstName = raw_input ("İlk adınız nedir ?:) lastName = raw_input (" Soyadınız nedir ?: ") eval (firstName) = İletişim (firstName, lastName) – johnharris85
@JHarris - bu dile bağlı. PHP ve Javascript bunu yapabilirdi. C++/C# yapamadı. Ancak, bunun düşünmenin doğru yolu olduğunu düşünmüyorum. Kişilere isme göre bakmak istiyorsanız, "sözlük" (bazı dillerde "harita") koleksiyonu kullanın. Ad alanını bu gibi her bir kontakt için değişkenlerle kirletmek savurgan ve hatta tehlikeli olabilir (eğer birisi değişkeninizden biri gibi bir isimle bir kişi oluşturursa ne olur?) –