我正在教自己python,我是面向对象语言的新手。 我一直在阅读有关这方面的书籍和互联网,但我意识到编码是最好的做法。我这样做,但努力与以下:
我的程序几乎可以以任何可能的方式构建有关类或是否有限制(例如在类之间来回引用函数和变量)?程序理论上可以以任何方式分解为类吗? 例如:一个带有Tkinter的简单文本编辑器:可以创建菜单栏,在其中加载文本文件的内容,放在一个类中,还有另一个类创建文本字段?
我很挣扎,因为显然首先创建了文本字段或菜单栏。但是来自菜单(加载文件)的内容被发送/插入到文本字段中。所以菜单必须先来。另一方面,文本在保存到文件之前(在菜单类中)。
我错过了什么?
我真的希望得到你的帮助。
答案 0 :(得分:1)
赞成这篇文章的想法。你可以用你建议的任何方式构建你的程序,这都是一个偏好问题。
关于你的文本编辑器问题,首先创建哪个类并不重要 - 当你需要它们时它们仍然存在,如果它们连接正确,那么可以将信息传递给另一个。
相信我,你的代码越多,它就越明显。祝你好运:-D
答案 1 :(得分:0)
在构建代码时没有这样的限制。但是,请记住以下内容:
以下是#2的例子:
def foo(bar):
print(bar)
return 42
def foo(bar):
print(bar)
return 'The answer to the universe'
print foo('The question')
在上面的代码片段中,只有第二个函数定义有效,并且它将被执行。这是因为方法名称与Python中的任何其他名称一样。它们可以被分配,重新分配和覆盖。
稍后,你可以foo = 'Python'
,这是完全可以的。
当你开始开发时,这将变得更加明显。