duck-typing

    12热度

    3回答

    我有文档在我身上膨胀,因为任何时候我遇到一个复杂的鸭型,我需要某种方式来说“这个鸭型”,而是陷入了无尽的循环“你的功能需要这个输入,但不记录它“,然后记录下来。这导致臃肿,重复的文档,如下面的: def Foo(arg): """ Args: arg: An object that supports X functionality, and Y functional

    36热度

    7回答

    对我来说,C++模板使用了鸭子打字的想法,对吗?这是否意味着模板类或方法中引用的所有泛型都是鸭型?

    2热度

    3回答

    我有一个对象递交到我们的库中,并通过各种进程。我需要附加一些额外的信息给这些对象,因为它们通过各个阶段和另一端 - 一种动态装饰模式,我猜,除了添加额外的属性,而不是改变现有的行为。 我曾经希望使用LinFu或Castle创建一个动态代理并在对象上实现一个额外的接口来存储这个接口。知道扩展接口的组件可以投射和访问它 - 而那些不是不知情的,因为基础类型没有改变。 但是,我并没有意识到,所有这些机制

    1热度

    2回答

    我重写了子类中的受保护函数。 比方说,我有两个类,苹果和水果。 我有所有的变量,这只是一个简化版本。 class FruitBasket protected function getRandom():Fruit { // return random piece of fruit } class AppleBasket extends FruitBask

    5热度

    5回答

    我有一个“接口”,将通过客户端代码来实现: class Runner: def run(self): pass run一般应返回docutilsnode但由于远远最 常见的情况是纯文本,主叫方允许run返回一个字符串,它将被 检查使用type()并变成node。 不过,我知道“Python化”的方式,这是不是“Python化”,因为 检查的东西不让它“是”一类的type(

    2热度

    4回答

    我有一个病人类: class Patient { public string First_Name { get; set; } public string Last_Name { get; set; } public DateTime Date_of_Birth { get; set; } } 我也有一个接口: interface IPerson {

    2热度

    1回答

    我已经准备好了Ruby的强制接口的方法,通过检查满足接口的方法/属性是否存在动态类型。 总体而言,采用什么方式只是比使用接口更好的设计原则?有什么优点/缺点。例如,你可以实现在C#中相同的概念,但我不知道这是否会具有相同的值, public class Foo { public Foo(dynamic _obj) { MethodInfo[] methods= _

    2热度

    6回答

    打字有没有办法做这样的事情在下面的C++ template<typename TAnimal> bool can_eat(TAnimal& animal) where bool TAnimal::IsAlive() exists { return !animal.IsAlive(); } //... Duck duck; assert(can_eat(duck) == t

    7热度

    3回答

    一个朋友和我一直玩pygame一些和使用pygame碰到this tutorial for building games。我们真的很喜欢它是如何将游戏转化为模型 - 视图 - 控制器系统的,其中事件作为中介,但是代码使重复使用isinstance检查事件系统。 实施例: class CPUSpinnerController: ... def Notify(self, event

    4热度

    3回答

    因此,关于什么是Pythonic的另一个问题!在这种情况下,应用程序域是网络算法(如在节点,边缘,Dijkstra,那种事情......),我以前只用强类型语言编码,我们可以非常确定什么是是。 同时在Python中,我有一个类Net;这个类的单个实例代表一个网络。我有一个类Edge,它为网络中的每个边缘实例化。除此之外,每个Edge实例都具有独特的id。 有时我希望通过参考相关的Edge实例来删除