说我有以下简单的课程:
class NumberMixin(models.Model):
number = models.IntegerField()
class RaceCar(models.Model, FancyMixin, ScaryMixin, NumberMixin):
def common_logic():
obj = RaceCar.objects.filter(name='fortytwo').first()
obj.number = 42
...
class Athlete(models.Model, LotsOfStuffMixin, NumberMixin):
def common_logic():
obj = Athlete.objects.filter(name='fortytwo').first()
obj.number = 42
...
每个由NumberMixin
部分组成的类将具有一个几乎相同的common_logic()
。
如果我想将common_logic()
用于继承自NumberMixin
的任何类,有什么方法可以将其放入NumberMixin
类中,而不必复制粘贴它进入所有其他班级?
答案 0 :(得分:2)
在您的示例中,let number: NSNumber = 25
let numberFormatter = NumberFormatter()
numberFormatter.locale = Locale.init(identifier: "cn_CN") // or "en_US", "fr_FR"
numberFormatter.positiveFormat = "#0.00 ¤"
let price = numberFormatter.string(from: number)
方法之间的唯一区别是模型。因此,您可以创建一个类方法并使用common_logic
:
cls