【发布时间】:2014-07-12 22:44:38
【问题描述】:
好的,所以我正在尝试使用 Python OOP 创建一个联系人应用程序。我对 OOP 还很陌生,但仍在努力理解这些概念。
我了解类是所有对象的蓝图。我喜欢将 Class 视为一个实体,每个 Object 都是该实体的记录。我来自数据库背景,所以我这样解释它,请随时纠正我。
无论如何,在我正在制作的联系人应用程序中,我已经创建了 Contacts 类,如下所述:
class Contacts():
def __init__(self, firstName, lastName, address, groupType,
telephone, mobile, email, photoField):
self.firstName = firstName
self.lastName = lastName
self.address = address
self.groupType = groupType
self.telephone = telephone
self.mobile = mobile
self.email = email
self.photoField = photoField
def showDetails(self):
print("First Name:\t", self.firstName)
print("Last Name:\t", self.lastName)
print("Address:\t", self.address)
print("Telephone:\t", self.telephone)
print("Mobile:\t", self.mobile)
print("Email:\t", self.email)
现在,如果我想通过 Contacts 类将联系人添加到我用来存储每个联系人对象的列表中,我必须创建一个 AddContacts 类,还是创建一个一个函数呢?我不知道我的问题是否足以让您理解我的意思?
我想我想说的是,添加联系人是一个过程,如果你从数据库的角度来看它,你不会创建一个名为“tbl_AddContacts”的表,因为你会通过查询来做到这一点或存储过程,所以在我看来,我会将添加联系人定义为一个函数。但是问我的同事谁做 C# 编程,他说添加联系人应该由一个类来定义。
这对我来说是一个令人困惑的概念,特别是因为我不明白如何将AddContacts 类与Contacts 类联系起来,甚至首先如何定义AddContacts 类!。
这是我为添加联系人定义的函数:
def addContacts():
firstName = input("First Name: ")
lastName = input("Last Name: ")
address = input("Address: ")
telephone = input("Telephone: ")
mobile = input("Mobile: ")
email = input("Email: ")
print("\n")
contact = Contacts(firstName, lastName, address, None, telephone, mobile, email, None)
contactsList.append(contact)
pickle.dump(contactsList, open("save.p", "wb"))
请帮帮我,因为我会把它变成一个 GUI 应用程序(uni assignment)。
【问题讨论】: