最初の週では、OOP に関する一般的なトピックについて触れました。短い文章でこれらのトピックについてかなりの量を学ぶことができました。時間の長さ。ただし、取り上げるべきトピックがまだ残っていました。これはOOP の基本にすぎないことを考慮すると、Java が 100% に注力したい言語であるかどうかを決定しているところです。 、大学を卒業した後でも、テストの経験のため、バックエンドが特に好きだと言わざるを得ません。私の決定には考慮に入れてください。
この 2 週目では、スレッド、列挙型、ジェネリックなどのトピックを確認する時間があまりありませんでした。保留中だった。ただし、私はレストランをシミュレートする小さなプロジェクトを進めており、そこでは次のアクションを実行できます:
- 商品や食事を作成します ?
- これらの製品に基づいて注文を行い、消費された数を示します。
- 追加した注文を個別に表示します。
- すべての注文を表示。ユーザーが必要なだけ注文を追加できるオプションがあります。
私は主に、データ検証を含むOOPのあらゆる側面をカバーし、ロジックを練習し続けるために作成しました。ほぼ完成しましたが、まだ詳細を追加しているところです。準備ができたら、リポジトリにアップロードします。
さらに、別の OOP トピックやその他の非常に役立つトピックも取り上げました。
どちらでしょうか? リレーショナル クラス、try and catch、およびファイル。
これらのトピックが私にとってどのように役立つか、またそれらの実際の応用を私がどのように理解しているかについて簡単に説明します。
リレーショナル クラス
リレーショナル クラスは、私が理解し使用するのに時間がかかったトピックです。ただし、コツを掴めば簡単に実装できます。私がこの概念を最もよく使用した方法は 1 対 N の関係 です。これは、クラス B の複数のオブジェクトをクラス A。
たとえば、車に複数の所有者を持たせたい場合は、Owners クラスから Cars クラスへの関係が必要です。
Car クラス コンストラクターでは、リスト (ここでは ArrayList を使用しました) を渡す必要があります。このリストは、Owner コンストラクターからのオブジェクトに基づいて作成されます。したがって、所有者とその属性 (名前、年齢、ID など) は Car コンストラクターにリンクされ、これらのプロパティを持つオブジェクトを作成できるようになります。
これは、1 対 N の関係 がどのように適用されるかを示す簡単な例です: https://pastebin.com/dX6SDWwp
これは、特定のオブジェクトを他のオブジェクトと「接続」する必要がある場合に便利です。これにより、配列や別の別のメソッドによって接続されるだけでなく、直接的な関係が得られます。
試して捕まえてください ⚙️
Java での try と catch の使用は、私が使用した他の言語よりも多く実装したものです。これは、私の IDE が、それを必要とするいくつかの例外に対して try と catch の使用を自動的に提案しているためだと思います。
このトピックは、C のような別の言語と比較した単なる ハイライト です。C では、私はこの言語をほとんど使用せず、エラーを避けるための他のテクニックを好んでいました。しかし、エラーを予測し、
突然のシステムクラッシュを回避するために、try and catch を使用することに徐々に慣れてきました。
ファイル - JSON/GSON - シリアル化と逆シリアル化
? Java で ファイル を操作するのに、先週末の学習時間の 70% が費やされました。それにもかかわらず、C と比較すると、情報と例が少し多いように感じます。行列
を使用してデータを書き換えずに維持するためのファイル使用も実装しました。これは次のようなシステムに役立ちました:
- ショッピングカート
- 在庫管理
- 注文、またはデータ保持 が必要なシステム。
この場合、Java では、オブジェクト を使用する必要があるため、シリアル化と逆シリアル化
が必要になります。ここで大きな違いに気づきました。記述方法は、必要なデータのタイプに大きく依存するためです。 何時間もの調査を要した主な問題は、文字を .txt ファイルに保存すると、ファイルを開くときには バイナリ形式 で表示されるのに、キャラクターをコンソールに表示します。
オンラインで、データの読み取りと書き込みには 2 つの方法があることがわかりました。
- バイト経由
- キャラクター経由
私が使用していたメソッドは、オブジェクトを直接渡していたため、バイトベースでした。
Writer サブクラスと Reader サブクラスのさまざまな使用方法の違いを共有できるほどの知識はまだありませんが、実際の演習に取り組んでいます。ここでは、ArrayList に格納されている オブジェクト を使用し、 シリアル化とその方法を学習します。 GSON を使用してオブジェクトをデシリアライズし (オブジェクトをシステム内の .json ファイル内の状態に維持するため)、このデータを .txt ファイルに書き込んで にレコードとして保存します。組織的な方法。
終了
先週、思ったほどの進歩はありませんでしたが、ファイルの操作には調査、アプリケーションに何時間もかかりました、コンセプトの差別化。レビューしたすべての記事から抜粋して、「実際の」プロジェクトでテストする最終結果に到達します。そしてそれがどのように起こったかを共有します。
この特定の処理と、GSON と .txt で前述したシナリオは、大学で行う必要があるものであることに言及することが重要です。ただし、これを処理するための JPA や データベース などの 他の方法 もあります。システム内のデータを維持するために GSON と .txt を使用することは厳密には必要ありません。
これ以上追加することはありません。ファイル や私が言及したトピックについて何か意見がある人がいたら、お気軽にコメントして提案を共有してください。
コーディングを楽しんでください! ?
以上がJava OOP: OOP の冒険が続く週の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Javaはプラットフォーム固有の問題をどのように軽減しますか? Javaは、JVMおよび標準ライブラリを通じてプラットフォームに依存します。 1)bytecodeとjvmを使用して、オペレーティングシステムの違いを抽象化します。 2)標準のライブラリは、パスクラス処理ファイルパス、CHARSETクラス処理文字エンコードなど、クロスプラットフォームAPIを提供します。 3)最適化とデバッグのために、実際のプロジェクトで構成ファイルとマルチプラットフォームテストを使用します。

java'splatformentencentenhancesmicroservicesecturectureby byofferingdeploymentflexability、一貫性、スケーラビリティ、およびポート可能性。1)展開の展開の展開は、AllosmicRoserviThajvm.2)deploymentflexibility lowsmicroserviceSjvm.2)一貫性のあるAcrossServicessimplisimpligiessdevelisementand

Graalvmは、Javaのプラットフォームの独立性を3つの方法で強化します。1。言語間の相互運用性、Javaが他の言語とシームレスに相互運用できるようにします。 2。独立したランタイム環境、graalvmnativeimageを介してJavaプログラムをローカル実行可能ファイルにコンパイルします。 3.パフォーマンスの最適化、Graalコンパイラは、Javaプログラムのパフォーマンスと一貫性を改善するための効率的なマシンコードを生成します。

aeffectivelytestjavaapplicationsforformcompativity、followthesesteps:1)setupautomatedacrossmultipleplatformsusingsingcitoolslikejenkinsorgithubactions.2)divivisonmanualtingonrealhardwaretocatissusuessususus.3)

Javaコンパイラは、ソースコードをプラットフォームに依存しないバイトコードに変換することにより、Javaのプラットフォームの独立性を実現し、JVMがインストールされた任意のオペレーティングシステムでJavaプログラムを実行できるようにします。

bytecodeachievesplatformedentencedexedectedbyavirtualMachine(VM)、forexApplev.forexample、javabytecodecanrunrunrunnonydevicewithajvm、writeonce、runany "ferfuctionality.whilebytecodeOffersenhの可能性を承認します

Javaは100%のプラットフォームの独立性を達成することはできませんが、そのプラットフォームの独立性はJVMとBytecodeを通じて実装され、コードが異なるプラットフォームで実行されるようにします。具体的な実装には、次のものが含まれます。1。bytecodeへのコンパイル。 2。JVMの解釈と実行。 3。標準ライブラリの一貫性。ただし、JVMの実装の違い、オペレーティングシステムとハードウェアの違い、およびサードパーティライブラリの互換性は、プラットフォームの独立性に影響を与える可能性があります。

Javaは、「Write onse、Averywhere」を通じてプラットフォームの独立性を実現し、コードの保守性を向上させます。 2。メンテナンスコストが低いため、1つの変更のみが必要です。 3.チームのコラボレーション効率が高く、知識共有に便利です。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ホットトピック









