検索
ホームページJava&#&チュートリアルJava でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

1. パッケージングについて理解する

簡単な文は、シェル シールドの詳細です。

たとえば、携帯電話には、バッテリー、チップ、マザーボード、カメラ、画面、その他の電子部品が含まれています。

ユーザーにとっては、電話機の電源のオン/オフ、音量調整、発着信ができれば十分です。

内部配線や電子機器を考慮する必要はありません。コンポーネント。モデルは関係ありません。

そこで、携帯電話メーカーはシェルを使用して内部の電子デバイスをカプセル化し、ユーザーがより使いやすくするのです。これはこの種の考え方です。

そしてオブジェクトにおける当社の中核機能の 1 つです。パッケージングも同様です。

より正式に言うと、データとデータを操作するメソッドを有機的に組み合わせ、オブジェクトのプロパティと実装の詳細を非表示にし、オブジェクトと対話するインターフェイスのみを公開します

私の一般的な理解によれば、次のようになります。たとえば、誰かとのコミュニケーション、具体的にはその人がどのように音を出すかなど、この一連のプロセスには注意を払いません。ただ彼の言うことを聞くだけで十分です。

2. アクセス権の制御 - アクセス修飾子

##Java のカプセル化では、オブジェクトと対話するためのインターフェースのみが残るため、このインターフェースを実装し、内部の詳細を制御および非表示にする方法については、ここでアクセス修飾子について説明します

役割アクセス修飾子の数: カプセル化は、コントロール クラスとアクセス許可によって実現されます。

クラスは、データとデータをカプセル化するメソッドを組み合わせることができます。

アクセス許可は、メソッドやフィールドを外部で直接使用できるかどうかを制御するために使用されます。クラス

##スコープ##プライベート✓✓##同じパッケージ内の異なるクラス✓✓ ##✓異なるパッケージ内のサブクラス✓✓非サブクラス別のパッケージで #✓

?????? (パブリック) public: 変更するメンバー、メソッド、またはクラスにはどこからでもアクセスできます。

??????(継承) 保護: 裏面を参照、

#??????(デフォルト) デフォルト: 同じパッケージ内のアクセス

???? ( Private) private: 現在のクラスでのみアクセスできます

public class TestDemo01 {
    int year;
    //默认权限,可以省略default
    private int month;
    //私有权限,只能在同一个类中访问
    public int day;
    //公有权限,那里都能访问
}

以下にデモを示します

最初のクラス TestDemo01

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

#2 つのクラスクラス TestDemo02

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

月が見つからないことがわかりました。これは、アクセス許可を private と書いて非公開にしたためです。クラスにアクセスできません。これはカプセル化の実装であり、月は TestDemo01 でのみ使用できます。

インターフェイスのみを残し、詳細を表示しないためにカプセル化を実装します。

カプセル化されたインターフェイスをデモしましょう

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

If Itプライベートなメンバーが多いと言われていますが、この 2 つのインターフェースを 1 つずつ書く必要はなく、idea の機能を使えばすぐに書くことができます。カプセル化の要件を理解する 知っておくべきこと - パッケージ

3.1 パッケージの概念を理解する

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?パッケージの存在は、クラスをより適切に管理したり、複数のクラスを 1 つのグループにまとめたり、それらをグループ化したりするためです。ディレクトリ

パッケージは、クラス、インターフェイスなどのカプセル化メカニズムを具体化したものです。これは、クラスやインターフェイスなどを編成する良い方法です。

パッケージは、次の点でも非常に重要な役割を果たします。同じプロジェクト内で使用できます。 異なるパッケージ内にある限り、同じ名前のクラスが で許可されます。

#3.2 パッケージ内のクラスをインポートする

#エラーが報告される理由を見てみましょうJava でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

この問題を解決するには、特定のパッケージを指定する必要がありますJava でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

package com.toabao.www;
import java.util.*;
import java.sql.*;
public class TestDemo03 {
    public static void main(String[] args) {
        int[] array = {1,2,3,4,5};
        System.out.println(Arrays.toString(array));
        java.util.Date date = new java.util.Date();
        java.sql.Date date1 = new java.sql.Date(12);
    }
}

import staticを使用してパッケージ内の静的メソッドとフィールドをインポートします

import static java.lang.Math.*;
public class TestDemo01 {
public static void main(String[] args) {
    double x = 13;
    double y = 14;
    double result = sqrt(pow(x,2)+pow(y,2));
}
}

3.3パッケージ

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?最初に手順を確認してください。方法がわからない場合は、自分でパッケージを作成してみてください

注:

1. パッケージが作成された後、ファイルの先頭に、そのファイルがどのパッケージに含まれているかを示す package ステートメントが必要です (アイデアにより自動的に追加されます)

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

2. パッケージの名前は通常、たとえば、ドメイン名の逆名です

3. コードが保存されている場所を見てみましょう。作成済み

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?#3.4 アクセス許可制御

同じパッケージ内の同じクラス

package Demo01;
public class Test01 {
    int count = 10;
    public void func(){
        System.out.println(count);
    }
}

同じパッケージ内の異なるクラスのアクセス

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

異なるパッケージ内のサブクラスのアクセス権限

前の数はデフォルト、つまりデフォルトです。異なるパッケージ内のサブクラスおよび非サブクラスにはアクセスできません

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか? アクセスする必要がある場合は、アクセス権限をパブリックに変更できます。

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?#3.5 java の共通パッケージ

1. java.lang: システムでよく使用される基本クラス (String、Object)、JDK1.1 以降では作成する必要はなく、インポートされます。自動的に、

#2. java.lang.reflflect:java リフレクション プログラミング パッケージ

Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?3. java.net: ネットワーク プログラミング開発パッケージ

4. java.sql: サポート パッケージデータベース開発用 Java でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?

#5. java.util: java

6. java.io:I/O プログラミング開発パッケージ

が提供するツールパッケージです。

##プライベート

default

Default

protected

継承

public

Public

同じパッケージ内の同じクラス

以上がJava でオブジェクト指向のカプセル化を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は亿速云で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境