検索
ホームページJava&#&ベースファクトリパターンJavaとは何ですか

ファクトリパターンJavaとは何ですか

Nov 11, 2019 am 09:34 AM
java工場出荷時のパターン

ファクトリパターンJavaとは何ですか

ファクトリ パターン Java とは

ファクトリ パターンは、Java で最もよく使用されます。デザインパターン。このタイプのデザイン パターンは創造的なパターンであり、オブジェクトを作成するための最適な方法を提供します。

ファクトリ パターンでは、オブジェクトの作成時に作成ロジックをクライアントに公開せず、共通のインターフェイスを使用して新しく作成されたオブジェクトを指します。

簡単に言うと、new オペレーションの代わりにファクトリ メソッドが使用されます。平たく言えば、新しいオブジェクトを作成するときは、ファクトリ メソッドを直接呼び出すだけです。プログラミングするときは、ファクトリを定義する必要があります。サブクラスで実装するには、特定のファクトリクラスを定義し、インスタンスを生成するメソッドを定義し、このメソッドを使用してインスタンスを取得します。

利点:

1. 呼び出し元がオブジェクトを作成したい場合、必要なのはその名前だけです。

2. 高い拡張性: 製品を追加する場合は、ファクトリ クラスを拡張するだけで済みます。

3. 製品の特定の実装を保護する 呼び出し元は製品のインターフェイスのみを考慮します。

欠点:

製品を追加するたびに、特定のクラスとオブジェクト実装ファクトリを追加する必要があるため、システム内のクラスの数が 2 倍になります。ある程度、システムの複雑さが増し、システムの特定のクラスへの依存性も高まります。これは良いことではありません。

アプリケーション例:

1. 車が必要な場合、車の製造方法や仕様を気にすることなく、工場から直接受け取ることができます。この車内への実装。

ファクトリ パターンの簡単な実装は次のとおりです:

//所有车的接口  有一个共同改的方法 开车
public interface Car {
    public void drive();
}
//奥迪类  实现car接口因为奥迪车也是车 肯定可以开的嘛
public class Audi implements Car {
    public Audi(){
        System.out.println("生产出一辆奥迪");
    }
    @Override
    public void drive() {
        System.out.println("开奥迪");
    }
}
//宝马类  实现car接口因为宝马车也是车 肯定也可以开
public class Bmw implements Car{
    public Bmw(){
        System.out.println("生产出一辆宝马");
    }
    @Override
    public void drive() {
        System.out.println("开宝马");
    }
}
//生产车的工厂  该工厂接收一个车名 你只需要告诉他你要生产什么车  就可以生产出对应的车出来
public class CarFactory {
    public static Car getCar(String caename){
        if(caename.equals("audi")){
            return new Audi();
        }else if(caename.equals("bmw")){
            return new Bmw();
        }
            return null;
    }
}
//测试
public class Test {
    public static void main(String[] args) {
        //告诉工厂类 你需要生产出一辆奥迪车  那么给昂他传一个参数audi进去
        Car audi = CarFactory.getCar("audi");
        //就可以生产出奥迪的车 调用开车的方法就可以开车啦
        audi.drive();
        //宝马类似
        Car bmw = CarFactory.getCar("bmw");
        bmw.drive();
    }
}
输出:
成产出一辆奥迪
开奥迪
生产出一辆宝马
开宝马

推奨チュートリアル: java チュートリアル

以上がファクトリパターン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ヘンタイを無料で生成します。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

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