一些同学在知识星球上,在什么情况下,使用静态方法问我。
首先,我们定义一个普通的类。有普通的方法。非凡的方法也称为实例方法。
此类运行的效果如下图所示:
每个人都注意班上的方法。它接受两个参数,将它们转换为类型,然后添加并返回结果。此过程非常简单。但是它与人类类直接相关吗?
实际上,此方法与此类无关。我们甚至可以将其更改为一个函数:
运行结果与以前完全相同:
我们可以说该功能是一个。工具功能接收参数,输出结果。不在乎谁打电话给他,也不会称呼他为他。
但是现在有一个更尴尬的事情。此功能在其他地方没有调用。将其单独放在其他地方似乎是多余的,并且是浪费自我参数。目前,我们可以使用静态方法:
摘要:静态方法是类中的特殊工具功能。
在谈论静态方法之后,让我们谈谈类方法。在我应该使用什么情况下,我应该使用什么情况?在回答这个问题之前,我将首先回到您一个问题,如何将类初始化为实例?
您不容易说,只是一行代码:
请注意,当您初始化此类时,您将在一个参数中介绍。如果您使用SF发送快递交付,您会发现当您填写收件人时,有两种方法。一种方法就像上网,一一填充。另一个方式,它为您提供了一个输入框。您可以将文本的一部分粘贴到名称,地址和手机号码上。它会自动分析。
然后,如果我现在给您一个字符串:。您如何根据此字符串生成人类类的实例?
目前,您可以这样写:
这确实是可能的,但是我可以自动认识到人们的班级吗?实际上,有两种方法。一种方法是在其中添加更多参数,然后在初始化时从这些参数进行分析。每个人都知道这种方法,我不会谈论它。LET谈论第二种方法是使用类方法。
我们只需要定义类方法:
操作效果如下图所示:
该类方法装饰着装饰,其第一个参数是隐藏的参数。此参数实际上是此类本身。当我们调用类方法时,此隐式参数不需要引入。在此类方法中,它等同于使用初始化它的实例,然后返回此实例。
这样做的好处是什么?优势是我们根本不需要修改它,因此无需修改代码中的其他位置。例如,现在我想添加提取提取的功能和年龄英语句子的名称和年龄,然后我只需要添加另一种方法:
操作效果如下图所示:
摘要:当您想使用工厂模式并根据不同的参数生成同一类的不同对象时,可以使用类方法。
实际上,如果您使用了Python随附的模块,则会发现类方法无处不在:
在此代码和和谐中,这是一种类方法。它们终于返回到对象。但是它们是根据不同类型的输入参数生成的。