Saat menulis program kalkulator, Anda dapat memisahkan logika bisnis dari tampilan, dan logika bisnis dienkapsulasi ke dalam kelas (enkapsulasi); Jika Anda ingin menambahkan operasi baru, terlebih dahulu Anda dapat membuat kelas operasi dasar, dan kemudian berbagai operasi diwarisi dari kelas operasi dan mengimplementasikan fungsi virtual getResult (). Pada saat ini, menambahkan operasi baru hanya membutuhkan kelas baru, yaitu, tidak ada operasi sebelumnya yang diperlukan untuk berpartisipasi dalam kompilasi. Bagaimana cara membiarkan kalkulator mengetahui operasi mana yang ingin saya gunakan? Kelas terpisah harus dianggap melakukan proses pembuatan instance ini, dan itulah pabriknya. Buat kelas OperationFactory, lulus dalam parameter, dan fungsi CreateOperate dapat membuat instantiate objek yang sesuai.
Kode Java adalah sebagai berikut:
Public Class OperationFactory {Operasi kelas abstrak statis public {private double _numbera = 0; private double _numberb = 0; public double get_numbera () {return _numbera; } public void set_numbera (double _numbera) {this._numbera = _numbera; } public double get_numberb () {return _numberb; } public void set_numberb (double _numberb) {this._numberb = _numberb; } abstrak getResult double (); // TODO Stub Konstruktor yang Dihasilkan Otomatis} Public Static Class OperationAdd Memperluas Operasi {Double getResult () {ganda hasil = get_numbera () + get_numberb (); hasil pengembalian; }} Public Static Class OperationsUB memperluas operasi {getResult () {ganda result = get_numbera () - get_numberB (); hasil pengembalian; }} Operasi statis publik CreatePerate (String Operation) {Operator Operator = NULL; if (operate.equals ("+")) {operator = new OperationAdd (); } else if (operate.equals ("-")) {operator = new Operationsub (); } return operator; } public static void main (string [] args) {operator operasi; operator = OperationFactory.CreateOperate ("+"); operator.set_numbera (1); operator.set_numberb (2); hasil ganda = operator.getResult (); }}Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.