OOPの専門家に質問です。 - ページ 48

 
Artyom Trishkin:

新しいオペレーターがいます。この演算子を使うと、実行 時に新しいオブジェクトを作成することができます。

オブジェクトへのポインタの配列がある。これらの配列には、任意のオブジェクトへのポインタを入れることができます。

ポインタ配列はそれ自体がオブジェクトである。

では、その場でオブジェクトにプロパティを追加することは可能かどうか、考えてお答えください。

私の投稿をよく読んでください。私は、新しいプロパティを追加する可能性にすぐに同意しましたが、そうすることの無意味さを認識しました。新しいプロパティを "オンザフライ "することは、オブジェクトの構造を更新することではありません。その世襲関係、つまりはシステム全体が変わることはない。 その結果、オブジェクトは役に立たない特性を獲得することになります。なぜなら、その特性を使って新しいアルゴリズムを構築しなければ、その特性を統合 することができないからです。
 
Реter Konow:
私の投稿をよく読んでください。すぐにでも新しい物件を増やせるという点では賛成でしたが、その無意味さを認識しました。新しいプロパティを「オンザフライ」で追加しても、オブジェクトの構造が更新されるわけではありません。その世襲関係、つまりはシステム全体が変わることはない。その結果、オブジェクトは役に立たない特性を獲得することになります。なぜなら、その特性を使って新しいアルゴリズムを構築しなければ、その特性を統合 することができないからです。

イベントハンドラを持つ基本的なプロパティオブジェクトが存在する。このオブジェクトプロパティは、その状態を以前の状態と比較するという原始的な機能を実行し、比較の結果、より多い/少ない/変化なしを保持する。これは一生の間、継続的に行われます。

他のオブジェクトの任意のプロパティは、そのオブジェクトプロパティです。そして、もう一方のオブジェクトそのものが、オブジェクトプロパティの継承者である。

このように、オブジェクトは常にその状態とプロパティの状態をチェックすることによって生きており、それらが順番にすべてのプロパティの状態をチェックする(それら自身がオブジェクトプロパティの子孫である場合)。

各プロパティは一意の識別子を持つ。

そのため、どのオブジェクトもどのプロパティが変更されたかを知ることができる。

すべてのオブジェクトは、プロパティが一方向に変化したときに反応するハンドラを持っています。ここでは、「作り手」がプロパティの変更に対してオブジェクトがどのように反応するかを指定する必要があります。

そして、あなたが関与することなく、プログラムが自ら必要な場所に「変異」することを望むのですか?新しいプロパティ変更ハンドラを自分で作成する?

まあ、ここにDNAのヒントがあるんですけどね。単にオブジェクトとそのプロパティを記述するだけではありません。また、その振る舞いも符号化されています。要するに、ある外的要因が変化したときのプロパティの挙動をコード化する必要があるわけです。そして、小さなことから始めて、徐々に複雑な相互関係へと発展させていく。DNAについて学び、自分自身の遺伝暗号を作成して、物体を表現 することを始めましょう。それぞれのオブジェクトには、それぞれのストランドがあります。創造主を超えるには命が足りないのでは?
 

むかしむかし、あるコンピューターゲームに「スネークファイト」というとてもかっこいいものがありました。蛇をプログラミングしなければならないのですが、プログラミングの方法が変で、どのような挙動をするのかがわからなかったのです。なかなか楽しいエンターテインメントでした。

どなたかプレイされた方はいらっしゃいますか?

 
Dmitry Fedoseev:

むかしむかし、あるコンピューターゲームに「スネークファイト」というとてもかっこいいものがありました。蛇をプログラミングしなければならないのですが、プログラミングの方法が変で、どのような挙動をするのかがわからなかったのです。なかなか楽しいエンターテインメントでした。

どなたかプレイされた方はいらっしゃいますか?

私はSpectrum用にアセンブラでプログラミングをしました。最初は、自分自身と外部環境とが相互作用し、自己増殖できるような細胞を作っていたんです。2人のユーザーがそれぞれ自分のクリーチャーの行動コードを入力すると、2匹のクリーチャーが縄張りとお互いを支配し合う様子を見ることができるのです。

面白かったです。

 
Artyom Trishkin:

イベントハンドラを持つ基本的なプロパティオブジェクトが存在する。このオブジェクトプロパティは、その状態を以前の状態と比較するという原始的な機能を実行し、比較の結果、より多い/少ない/変化なしという結果を格納する。これは一生の間、継続的に行われます。

他のオブジェクトの任意のプロパティは、そのオブジェクトプロパティです。そして、もう一方のオブジェクトそのものが、オブジェクトプロパティの継承者である。

このように、オブジェクトは常にその状態とプロパティの状態をチェックすることによって生きており、それらが順番にすべてのプロパティの状態をチェックする(それら自身がオブジェクトプロパティの子孫である場合)。

各プロパティは一意の識別子を持つ。

そのため、どのオブジェクトもどのプロパティが変更されたかを知ることができる。

すべてのオブジェクトは、プロパティが一方向に変化したときに反応するハンドラを持っています。ここで、「作り手」がプロパティの変更に対してオブジェクトがどのように反応するかを指定する必要があります。

そして、あなたが関与することなく、プログラムが自ら必要な場所に「変異」することを望むのですか?新しいプロパティ変更ハンドラを自分で作成する?

アルゴリズムのブロックに新しい変数を 追加し、「ユニバーサル」ハンドラで変数の値とその行方を制御することを説明しましたね。 ハンドラ単体では、プロパティの値を処理しない。そ れはアルゴリズムの「プロンプト」で その変更を実行し、 このイベントを修正するだけです。

アルゴリズム自体は、プロパティが具体的にどのようにObjectの動作を決定するかという考えを実装したものです。新しい特性とは、新しい動作(イベントとパラメータ値の関係)を記述する新しいアルゴリズムのことで、標準的な方法では「その場で」実行することはできません。

 
Artyom Trishkin:

...

まあ、ここにDNAのヒントがあるんですけどね。単にオブジェクトとそのプロパティを記述するだけではありません。また、その振る舞いも符号化されています。 要するに、ある外的要因が変化したときのプロパティの挙動をコード化する必要があるわけです。 DNAについて学び、自分自身の遺伝暗号を作り、物体を表現 してみましょう。 それぞれのオブジェクトには、それぞれのストランドがあります。創造主を超えるには命が足りないのでは?
それに勝るものはない。色あせた影を作ってみるのもいいかもしれませんね(笑)。
 
Реter Konow:

あなたは、アルゴリズムのブロックに新しい変数を 追加し、ある「普遍的な」ハンドラがその値とその変数に起こるイベントを制御することを説明しました。 ハンドラは、プロパティの値そのものを制御することはない。 それはアルゴリズムの「プロンプト」で その変更を実行し、 このイベントを修正するだけです。

アルゴリズム自体は、プロパティが具体的にどのようにObjectの動作を決定するかという考えを実装したものです。新しいプロパティは、新しい動作(イベントとパラメータ値の関係)を記述する新しいアルゴリズムであり、標準的な方法では「その場で」実行することはできません。

物件の価値は、外部環境によって「コントロール」される。各プロパティオブジェクトには、そのプロパティをチェックし、チェック結果を保存する機能が付与されています。

オブジェクト全体は、そのすべてのプロパティの値や状態を見ることができます。生まれたばかりの物件も含む。

しかし、その性質の変化に対してどのように反応すべきかは、その遺伝子の連鎖に書かれています。

 
ピーターがOOPの第一人者になって、頭の中と掲示板で冗長で巧みなおしゃべりをするようになったんだ。ブラボー、スピナーの高揚感を超えるものはないと思っていましたが、見事に実現しましたね。
 
Vict:
ピーターがOOPの第一人者になって、頭の中と掲示板で冗長で巧みな会話を繰り広げているようなものです。ブラボー、スピナーの高揚感を超えるものはないと思っていましたが、見事に実現しましたね。
ただ、他人のコンセプトを抽象的にモデル化し、細部にこだわらず整理し、外挿し、自分のコンセプトと共生させることができること。簡単です)
 
Artyom Trishkin:

財産の価値は、外部環境によって「管理」される。各プロパティオブジェクトは、このプロパティをチェックし、チェック結果を格納する機能を持つ。

オブジェクト全体は、そのすべてのプロパティの値や状態を見ることができる機能を備えています。新規作成された物件も含む。

しかし、その特性の変化にどう反応すべきかは、遺伝子の連鎖に書かれている。

まさか、Subjectの構造をここまで理解しているとは思いませんでした。つまり、私の思考は平行線をたどっているのです。ただし、これらの事柄について、私はあなたに言っていないことがあるのですが。 まだ序の口です。
理由: