リレーショナルプログラミング
3764 ワード
依存関係-クラスAはクラスBを使用します。
:Bクラスのオブジェクト->Aクラスのメソッドパラメータ
=>メソッド(def)のみで使用
class A:
...
def do_something(self, b):
...
構成-AクラスにBクラスがあります。(依存関係よりも保持時間が長いため)
:クラスBのオブジェクト->クラスAの属性値
=>初期ジェネレータ属性値None->setter
class A:
def __init(self, ...):
self.__attr_b = None #처음에는 속성값을 None으로
@attr_b.setter #위의 클래스B로 가지고온 속성값을 setter로
def art_b(self, b):
self.__attr_b = b #매개변수 b는 B의 객체 -> 클래스 A의 attribute가 된다
含む-AクラスにはBクラスがあります。
:クラスBとして作成および保存されるオブジェクト->クラスAの属性値
=>作成者ステップから開始
class A:
def __init__(self, ...):
self.__attr_b = B() #생성자에서 클래스B의 attribute를 갖는다.
一般化-BクラスはAクラスである。
:クラスAをデフォルトクラスとして指定してクラスBを定義します.
class A:
...
class B(A):
...
Reference
この問題について(リレーショナルプログラミング), 我々は、より多くの情報をここで見つけました https://velog.io/@aza425/관계Relationships의-프로그래밍テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol