2018/10/03

オブジェクト指向の理解に便利そうな記事

Qiita から届いたメールを見たら、以下のオブジェクト指向に関する記事がおすすめされていた。


今は、Python でガシガシ、オブジェクト指向で書いているわけですが、大学の時はオブジェクト指向を理解するのに苦労しました。というか、結局、大学修了時点ではオブジェクト指向は理解できなかった。大学はシミュレーション分野の研究室に入って、手続き型言語で解析して乗り切ったっけ。

そもそも、オブジェクト指向の入門書とかサイトとか読んで学習しようとすると、ドツボにハマると、今の職場に来てから思ったわけでして。

個人的にハマったのは、オブジェクト指向のコンセプトで説明しようとしている所。本来のコンセプトだからそういう説明をしたいのは分かるけど、分かりにくい。

例えば、入門サイトなんかでは、犬クラス作って、犬クラスは犬の名前の変数を持ってて、ワンワン鳴くメソッドを実装する。犬クラスには動物クラスを継承して…。なんて説明がされている。

でも、犬クラス作って、それって何がおいしいの?
と当時は思った。

それより、ある問題を出して、手続き型とオブジェクト指向のプログラムで書いた場合にどういうメリットやデメリットがあるかを示してくれた方が分かりやすい。

自分は今の職場に来てから、原子や分子の解析をしてた時に、全部のデータ (原子名や属する分子名、座標など) をリストでそれぞれ管理していた。のだが、リストのインデックスミスでプログラムが思うように動かず、最終的にオブジェクト指向にたどり着いた。

原子クラスを作って、原子名や座標などの値を格納しつつ、メソッドを呼び出せば、自動的に 2 つの原子間の距離を算出してくれる。データの扱いがとっても楽になった。

やっぱり、メリットという報酬がないと、学習意欲って湧かないよね。という記事でした。

0 件のコメント:

コメントを投稿