C#初心者です、オブジェクト指向に関する記事を読みました。Qitta
現実のようにコーディングすれば良いらしいのですが、現実のようにコーディングするのが凄く難しいです。
ImageクラスにSerchメソッドが実装されているのはおかしいのでHumanクラスを作ってHumanクラスにSerchメソッドを実装と遠回しな実装になってしまいます。
今回のケースではImageクラスにSerchメソッドを実装するのではなくHumanクラスに実装が良い書き方でしょうか?
記事だけではオブジェクト指向を理解できないのはわかっています、よろしくお願いいたします。
C#
1 private UI hogeButton;//UIクラスはImageクラスを継承していて、ImageクラスにはSerchメソッドがついます 2 private Scene hogeScene;//Imageクラスを継承していています、isInSceneはSceneクラス固有のメソッドです 3 4 public bool Test() 5 { 6 if (hogeButton.Serch(smartPhone.bitmap, 0.6, ref rect)) 7 { 8 Tap(rect); 9 Thread.Sleep(3000); 10 11 if (hogeScene.isInScene(smartPhone.bitmap) && hoge2Button.Serch(smartPhone.bitmap, 0.6, ref rect)) 12 { 13 Tap(rect); 14 return true; 15 } 16 } 17 return false; 18 }
この記事は忘れてください。非常に問題が多い記事であることはコメント欄からもわかると思います。明らかな間違いは確かにそれほどありませんが、初心者に誤解をさせる表現が多く、わかったつもりにはなれるが実際にはわからなくなると思います。
5000%とか、書いてる時点で…。
そもそも、Serchメソッドとは何でしょうか。(Search?) 何(主語)が、何を(目的語)Serchする(動詞)のですか?
あ、なるほど、記事を読んでいませんでした。
説明不足でした、OpenCVを使用した簡単な自動化をしています。
Searchはスクリーンショットから要素を探すメソッドです、戻り値のRectには座標が代入されています。
isInSceneメソッドはスクリーンショットから要素を探し、要素があればtrue、なければfalseが返されます。
ImageクラスにSearchする機能をつけるのは、オブジェクト指向に反するのではと思い質問しました。
無理にオブジェクト指向にこだわらなくても良い気がします。(個人的には、宗教論争になりかねないと思ってます。)
まずは、やりたいことを実現することに力を入れた方が良いかもしれません。
スクリーンショットから画像を探すのに、Human クラスなど出てくる余地はありません。もう少し抽象化できそうですが、Image クラスに Search メソッドも別におかしくありません。記事の悪い影響がもろに出ていると思います。
洗脳済みの人に現実を教えると退会すると。
ちゃんと解決済みにしてから退会するあたりかなりマシな方だけど、また質問したくなったらその度にアカウント作るのは面倒じゃないんだろうか。
せめて、そこに見えてる名前は間違えないでほしい。>Qitta
回答1件
あなたの回答
tips
プレビュー