2016-06-24 8 views
0

モジュールを使用して、私はそれがより良い私のプログラムを作る方法を理解していませんか?私自身のオブジェクトを使用した対だけのクラスを使用するために、なぜ私が読んだ

私の例:PanelListと呼ばれるクラスを作成しました。その中には、パネルを整理し、パネルをサイズ変更し、データベースから情報を保存/読み込む関連情報を使用するいくつかのサブ関数といくつかの関数があります。私が使用して私のメインフォームからアクセス:

dim myObj as new PanelList() 
myObj.Gap = 20 
myObj.ArrangePanels(Panel1, Panel2) 

なぜ私はちょうどはるかに凝縮し、私は新しいインスタンスを作成する必要はありませんようだモジュールからこのような何かを行うならばよりもより良いです

ArrangePanels(Panel1, Panel2, 20) 

オブジェクトの新しいインスタンスを作成すると、より多くのリソースが必要になると思います。複数のオブジェクトを作成する必要がある場合、自分のビューでコードの外観を非表示にすることができますか?

、なぜ私は自分のオブジェクトを使用します?あなたは、あなたの質問に説明

答えて

1

機能は、実際にオブジェクト指向ではないので、それはそれのためのオブジェクトを作成するために非常に理にかなってのように確かにそれは鳴りません。それはちょうどどこかに配置したいヘルパー関数です。

オブジェクトはまさにそれ...オブジェクトです。それらは属性と操作によって意味論的に記述される「もの」です。たとえば、Personオブジェクトがあるとします。それは単なる関数のための投機場ではなく、むしろ「人」を表す離散的なインスタンスです。あなたが本当に必要としない、ない、その後、任意のオブジェクト指向プログラミングをやっていない場合にはなど、それは人の上またはによって行うことができる事業を展開しています、

の人物のインスタンスを記述したデータを持っていますオブジェクト。しかし、あなたのドメイン空間が、オブジェクトにパッケージ化できる「物」の離散セマンティックコンセプトを持っているなら、そうするのが理にかなっています。

+0

私はちょっとの私はちょうど私自身のオブジェクトを使用する必要があるだろうというとき知らない、理解しています。手続き型プログラミングは私がやっていることだと思うのですが、それは理にかなっているからです。私は人のオブジェクトや車のオブジェクト、さらには犬のオブジェクトを聞いています。そのコンテキストで意味をなさないので、自分のコードに適用する必要があるときには意味をなさないでしょう。たぶん私は手続き型プログラミングに固執すべきでしょうか?その欠点は何ですか? – goomba454

+0

@ goomba454:それに何らかの欠点がありますか? " - あなたが構築しているものによって異なります。いくつかの問題には自然に手続き型の解決策があり、オブジェクト指向の解決策が自然にあり、自然に機能的な解決策などがあるなど、多くの異なるツールが存在する理由は、 – David

+0

それで、私は少し気分が良くなりました。おそらく、私が達成しようとしていることのための適切なツールではない場合、OOP原則を遵守しようと心配していたかもしれません。私は私が行って自分自身で学んでいるので、これらの会話は私にとって貴重なものであり、私はそれを感謝します! – goomba454

関連する問題