銀行のローンのデータベースを管理するアプリケーションを Java で開発しています。私はアプリケーション開発の経験があり、ばかげているかもしれない質問がありますが、言語の開発を学んでいて説得力のある答えが得られなかったので、それは私がいつも話していることです.
私のプログラムには、汎用ツールとして使用する多くのクラスとメソッドがあります。たとえば、Excel 書き込み用のクラス、ファイルの読み取り/書き込み用のクラス、さまざまな方法で文字列を操作するクラス、私の既定の形式でダイアログ/メッセージを表示するクラス、特定の数学関数のクラス (数学)など
これらのクラスを実際のものとして想像することはできませんが(クラス/オブジェクトが意図されているように)、ツールボックスとして頭に浮かびます。それが私がそれらを静的にする理由です。そのように私は例えば書く
excelWriter.create("C:\temp.xls");
excelWriter.append("mydata1\tmydata2\nmydata3\tmydata4");
excelWriter.close();
それよりも
ExcelWriter myExcelWriter;
myExcelWriter.create("C:\temp.xls");
myExcelWriter.append("mydata1\tmydata2\nmydata3\tmydata4");
myExcelWriter.close();
ツールボックスは常に手元にあり、使用するたびにオブジェクトを作成する必要がないため、これは私にとってより適しています。C++ の Math も同じケースであり、静的でもありませんか? 私は多くの同僚やコーディングの友人と話し合ってきましたが、ほとんどの人はオブジェクトを作成する必要があると言っています。それがオブジェクト指向プログラミングのすべてだからです。
別の文脈で彼らが言ったことは理解できます。余暇には、VB.net を使用してカード ゲームを開発しています。そこには、ゲーム、プレイヤー、デッキ、ハンドのクラスがありました。私は多くのゲーム、プレイヤー、デッキ、ハンドを持っているので、私が作成したオブジェクトはすべてのクラスのどこにでもあります。そして、それらは現実のものとして想像することができます。ゲームを開発している場合は特に大きく異なります。ゲームには実物が含まれているため、ゲームの開発はよりオブジェクト指向です。
私は不思議に思っていました、私はどういうわけかここでひどく間違っていますか? oop とは何かについての意見を詳しく聞きたいです。また、静的クラスの目的についても知りたいです。
ありがとう