プロジェクトでPythonを選択しようとしていますが、抽象化とクラスの使用方法について少し混乱しています。(私はあまり経験豊富なプログラマーではないので、この質問の基本レベルについてお詫びします。)私はJava / Ocamlのバックグラウンドを持っており、私がやろうとしていることは次のとおりです。グラフの抽象クラスがあります。そして、graphadvanced(いくつかのより凝った方法を備えたグラフ)は、このように見えます
class AbstractGraph:
def method1(self):
raise NotImplementedError
...
class AbstractAdvanced:
def method2(self):
raise NotImplementedError
...
次に、グラフを実装します。
class Graph(AbstractGraph):
def method1(self):
* actual code *
今私の質問は:私はこのようなことをすることができますか?
class Advanced(AbstractAdvanced, AbstractGraph):
def method2(self):
*actual code, using the methods from AbstractGraph*
言い換えると、AbstractGraphのメソッドの観点からAdvancedのメソッドを抽象的に定義し、次にGraphをコンストラクターに渡して、Graphの実装でAdvancedの定義を使用するAdvancedのインスタンスを取得するにはどうすればよいですか?
Ocamlに関しては、AbstractAdvancedとAbstractGraphをモジュールタイプとして処理しようとしていますが、Pythonで少し遊んだことがあり、これを機能させる方法がわかりません。