我有两个问题:首先,如何使用Python创建FlyBehavior interface
?其次,如何使用Python(见下文)在FlyWithWings类中的FlyBehavior接口?我正在学习用深入浅出设计模式,我想用Python使用Python创建和实现接口?
public abstract class Duck {
// Reference variables for the
// behavior interface types
FlyBehavior flyBehavior;
QuackBehavior quackBehavior;
public Duck() {
}
// Delegate to the behavior class
public void performFly(){
flyBehavior.fly();
}
// Delegate to the behavior class
public void performQuack(){
quackBehavior.quack();
}
}
这里改写以下的Java类的所有飞行的行为类实现
public interface FlyBehavior {
public void fly();
}
这里的接口是飞行的行为实施为鸭子做飞
public class FlyWithWings implements FlyBehavior {
public void fly(){
System.out.println("I'm flying");
}
}
这是我迄今为止使用Python。下面是我的Python抽象鸭类
import abc
class Duck:
__metaclass__=abc.ABCMeta
FlyBehavior FlyBehavior;
QuackBehavior QuackBehavior;
@abc.abstractmethod
def __init__():
return
@abc.abstractmethod
def performFly():
return
@abc.abstractmethod
def performQuack():
return
这里是我被困在试图创建接口,并试图实现接口。
什么是'abc'? – immibis
@immibis抽象基类,我在这个链接阅读了这个:https://docs.python.org/2/library/abc.html – Sparky