我有兩個問題:首先,如何使用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