diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\211\271\347\202\271/charac.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\211\271\347\202\271/charac.json" index 7ec3c8903367f09376f5793914294ecac0f3e849..0aab0f320fe68e443740a8fe2d252e5e8770a57d 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\211\271\347\202\271/charac.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\347\211\271\347\202\271/charac.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "charac.md", "notebook_enable": false, "exercise_id": "c2f6aa1cf9794d3a8a1c43b7c5375151" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\345\237\272\346\234\254\347\211\271\345\276\201/feature.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\345\237\272\346\234\254\347\211\271\345\276\201/feature.json" index 12df0d93ab1e7dc62fbeca5f594b83da0578474f..16363568c7d10df1b633111d008627f49764fc8b 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\345\237\272\346\234\254\347\211\271\345\276\201/feature.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\346\240\270\345\277\203\346\246\202\345\277\265/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\232\204\345\237\272\346\234\254\347\211\271\345\276\201/feature.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "feature.md", "notebook_enable": false, "exercise_id": "d2541f9f1c344043882ebbe75a98b71f" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/1.\345\237\272\346\234\254\346\246\202\345\277\265/concept.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/1.\345\237\272\346\234\254\346\246\202\345\277\265/concept.json" index 582c0bb044b5fb5486857287aef26db07c0457fc..03512aee9feeefc6e101eb34c34a7d9f56784d9f 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/1.\345\237\272\346\234\254\346\246\202\345\277\265/concept.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/1.\345\237\272\346\234\254\346\246\202\345\277\265/concept.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "concept.md", "notebook_enable": false, "exercise_id": "b3d0d1b514ee409b9e2924ee20a16407" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/2.\345\257\271\350\261\241\345\220\215\345\222\214\347\261\273\345\220\215/names.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/2.\345\257\271\350\261\241\345\220\215\345\222\214\347\261\273\345\220\215/names.json" index 837b9f83e3f60001ad5b7054614488d2195c0b06..8f644ccc22b1c1466efe9ef54a54d8008cd030ce 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/2.\345\257\271\350\261\241\345\220\215\345\222\214\347\261\273\345\220\215/names.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/2.\345\257\271\350\261\241\345\220\215\345\222\214\347\261\273\345\220\215/names.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "names.md", "notebook_enable": false, "exercise_id": "2fb5e237ed284e599eaa5203c538d449" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/3.\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272/instance.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/3.\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272/instance.json" index 265596aad3f57168dea466fc623eed139c4424f4..3cffdd53679cc94b64340fd2d030db1e3411eea3 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/3.\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272/instance.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/2.\345\257\271\350\261\241\344\270\216\347\261\273\347\232\204\345\205\263\347\263\273/3.\345\257\271\350\261\241\347\232\204\345\210\233\345\273\272/instance.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "instance.md", "notebook_enable": false, "exercise_id": "6355a3c2bf00436f854f34094c9e33b6" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/1.\346\225\260\346\215\256\345\260\201\350\243\205/encapsulation.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/1.\346\225\260\346\215\256\345\260\201\350\243\205/encapsulation.json" index 5047efd0a7e5a006c979a4835a79307f0f906cd1..c387bbed557dfd2012a2783828d103188bd159bb 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/1.\346\225\260\346\215\256\345\260\201\350\243\205/encapsulation.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/1.\346\225\260\346\215\256\345\260\201\350\243\205/encapsulation.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "encapsulation.md", "notebook_enable": false, "exercise_id": "d2c7dabb04e54f0d9863e2b4bdd67339" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/2.\350\256\277\351\227\256\346\216\247\345\210\266/access.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/2.\350\256\277\351\227\256\346\216\247\345\210\266/access.json" index c7ece934cbbecba335468ca57df7959d9ed17894..5d5174f13c21c5437d45efb56c4fcbc35592d1f5 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/2.\350\256\277\351\227\256\346\216\247\345\210\266/access.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/3.\346\225\260\346\215\256\345\260\201\350\243\205\344\270\216\350\256\277\351\227\256/2.\350\256\277\351\227\256\346\216\247\345\210\266/access.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "access.md", "notebook_enable": false, "exercise_id": "0fadf6ba49ce4b828b2481168592359a" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/1.\345\256\271\345\231\250\347\232\204\351\200\211\346\213\251/choice.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/1.\345\256\271\345\231\250\347\232\204\351\200\211\346\213\251/choice.json" index 6f32daa6c20f354f2eb2db7ec891d7cd4be0eb27..acbe7af2f6049de08b5c571f7ecb8204c4a3d0f3 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/1.\345\256\271\345\231\250\347\232\204\351\200\211\346\213\251/choice.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/1.\345\256\271\345\231\250\347\232\204\351\200\211\346\213\251/choice.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "choice.md", "notebook_enable": false, "exercise_id": "795a27d3a46b4975baee3103fd2952d8" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/2.\345\256\271\345\231\250\347\232\204\344\275\277\347\224\250/using.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/2.\345\256\271\345\231\250\347\232\204\344\275\277\347\224\250/using.json" index 76014491ae7190b57b42259092c6146f3004f604..f3e371643728137256c62b3aa98e2bd1c125785f 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/2.\345\256\271\345\231\250\347\232\204\344\275\277\347\224\250/using.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/4.\345\237\272\344\272\216\345\256\271\345\231\250\347\232\204\345\257\271\350\261\241\347\256\241\347\220\206\344\270\216\350\256\277\351\227\256/2.\345\256\271\345\231\250\347\232\204\344\275\277\347\224\250/using.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "using.md", "notebook_enable": false, "exercise_id": "feeb96d62e6a4970b46fb4891c886f71" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/1.\347\261\273\345\236\213\350\257\206\345\210\253/identify.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/1.\347\261\273\345\236\213\350\257\206\345\210\253/identify.json" index 834b74533bfa69303d3b95fd243e93704c91c91d..7a6862106d16fbd2652b7dfd638eacfb0ab656f5 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/1.\347\261\273\345\236\213\350\257\206\345\210\253/identify.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/1.\347\261\273\345\236\213\350\257\206\345\210\253/identify.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "identify.md", "notebook_enable": false, "exercise_id": "4f751c7e9f604a15bfa3a7956039e42e" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/2.\350\277\220\350\241\214\346\227\266\347\261\273\345\257\271\350\261\241\350\216\267\345\217\226/getcls.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/2.\350\277\220\350\241\214\346\227\266\347\261\273\345\257\271\350\261\241\350\216\267\345\217\226/getcls.json" index c4043eae5ddb83757526c483bd13390e1921ff1f..1e51c11aea88ff9d5897e9b780c924ed79767437 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/2.\350\277\220\350\241\214\346\227\266\347\261\273\345\257\271\350\261\241\350\216\267\345\217\226/getcls.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/5.\347\261\273\347\232\204\350\257\206\345\210\253\344\270\216\350\256\276\350\256\241/2.\350\277\220\350\241\214\346\227\266\347\261\273\345\257\271\350\261\241\350\216\267\345\217\226/getcls.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "getcls.md", "notebook_enable": false, "exercise_id": "65dad5a0812341f7affad7a7d8f2cfc5" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/1.\345\261\236\346\200\247\347\232\204\350\257\273\345\217\226\345\222\214\344\277\256\346\224\271/rm.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/1.\345\261\236\346\200\247\347\232\204\350\257\273\345\217\226\345\222\214\344\277\256\346\224\271/rm.json" index 1184cfa43123d65a2d62e7af7accfaef9c9f1028..2ecfc2cd67e69cd3631de2c9bc5795820a3821ef 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/1.\345\261\236\346\200\247\347\232\204\350\257\273\345\217\226\345\222\214\344\277\256\346\224\271/rm.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/1.\345\261\236\346\200\247\347\232\204\350\257\273\345\217\226\345\222\214\344\277\256\346\224\271/rm.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "rm.md", "notebook_enable": false, "exercise_id": "e72f3c5991444fb784caba8f2859e8ab" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/2.\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/method.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/2.\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/method.json" index b2b782fd3ec3b93e9013ac8030c7cb4cdce2148d..faeb0f0e69431e2172bc156d96719268bb5d77f0 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/2.\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/method.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/6.\345\261\236\346\200\247\344\270\216\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/2.\346\226\271\346\263\225\347\232\204\350\256\276\350\256\241/method.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "method.md", "notebook_enable": false, "exercise_id": "45e7f995c1184a51881a7d263ad13bc8" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/1.\345\217\257\345\217\230\346\200\247/variability.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/1.\345\217\257\345\217\230\346\200\247/variability.json" index 18d675e0344c59d6f265d6f6a085ebbd773a0e30..25c96e5d76356673d6592148e7634a8a8ddb69d6 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/1.\345\217\257\345\217\230\346\200\247/variability.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/1.\345\217\257\345\217\230\346\200\247/variability.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "variability.md", "notebook_enable": false, "exercise_id": "6e798fb4d3084e069b89031c74fdd525" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/2.\345\217\257\350\247\202\345\257\237\346\200\247/observability.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/2.\345\217\257\350\247\202\345\257\237\346\200\247/observability.json" index bd872644e7d16979f89b1c18b0471e4cdccb5668..4b5b59180748bd2db473fff36376dd1382e8da0c 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/2.\345\217\257\350\247\202\345\257\237\346\200\247/observability.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/2.\345\217\257\350\247\202\345\257\237\346\200\247/observability.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "observability.md", "notebook_enable": false, "exercise_id": "42bda5aa3190433a85d3ef55988c6cd5" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/3.\345\256\271\351\224\231\346\200\247/tolerance.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/3.\345\256\271\351\224\231\346\200\247/tolerance.json" index b8c38e63eb983d101e658d59bb794e6fb7120a1b..37e3b7e9109f0bad1db54e5bfa9ffb74bc12b21d 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/3.\345\256\271\351\224\231\346\200\247/tolerance.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/7.\345\257\271\350\261\241\347\232\204\350\277\220\350\241\214\346\227\266\347\211\271\346\200\247/3.\345\256\271\351\224\231\346\200\247/tolerance.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "tolerance.md", "notebook_enable": false, "exercise_id": "a31e656b0e94482296aeb7daa08b0803" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/1.\350\256\276\350\256\241\346\250\241\345\274\217\345\237\272\346\234\254\345\216\237\345\210\231/principle.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/1.\350\256\276\350\256\241\346\250\241\345\274\217\345\237\272\346\234\254\345\216\237\345\210\231/principle.json" index e0f1e742bc5d1a27c7ab19aef5a2efc0764be480..157d85e84d2ce4bef571b404ec233268d47f08a0 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/1.\350\256\276\350\256\241\346\250\241\345\274\217\345\237\272\346\234\254\345\216\237\345\210\231/principle.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/1.\350\256\276\350\256\241\346\250\241\345\274\217\345\237\272\346\234\254\345\216\237\345\210\231/principle.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "principle.md", "notebook_enable": false, "exercise_id": "0eed98f392134f78ac8895009a5a6d14" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/2.\345\215\225\344\276\213\346\250\241\345\274\217/singleton.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/2.\345\215\225\344\276\213\346\250\241\345\274\217/singleton.json" index 6e9dafeaac30aba99424ee0363294c820d206b9d..be9b2f959098f90b616dccb42b488d154fe56fbe 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/2.\345\215\225\344\276\213\346\250\241\345\274\217/singleton.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/2.\345\215\225\344\276\213\346\250\241\345\274\217/singleton.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "singleton.md", "notebook_enable": false, "exercise_id": "d569e6c196d645b5830df66b3e073ab1" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/3.\345\216\237\345\236\213\346\250\241\345\274\217/prototype.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/3.\345\216\237\345\236\213\346\250\241\345\274\217/prototype.json" index 3a7f4ca7517b6856a90e3ae9b16c7b4b1ac5687c..ac8fb905d7fe61bce28c96488be1ce3235a82db6 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/3.\345\216\237\345\236\213\346\250\241\345\274\217/prototype.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/8.\350\256\276\350\256\241\346\250\241\345\274\217\345\210\235\346\216\242/3.\345\216\237\345\236\213\346\250\241\345\274\217/prototype.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "prototype.md", "notebook_enable": false, "exercise_id": "4741d847840e4133a6306dc3ff5fc004" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/1.\345\255\227\347\254\246\344\270\262\346\213\274\346\216\245/conn.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/1.\345\255\227\347\254\246\344\270\262\346\213\274\346\216\245/conn.json" index 1c63e2a596062b4f67ab3b5e46de56cf3124494a..eba4cf9301eec51a7af59976c87661449cb28748 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/1.\345\255\227\347\254\246\344\270\262\346\213\274\346\216\245/conn.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/1.\345\255\227\347\254\246\344\270\262\346\213\274\346\216\245/conn.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "conn.md", "notebook_enable": false, "exercise_id": "ea16c59ff6bb442f8f60ac817c416c9b" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/2.\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/regular.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/2.\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/regular.json" index 66868c17c6ffd72bab3d0285d379509d2d0b2c89..781b375f537517fd2063fa28359a31b51b85590f 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/2.\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/regular.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/2.\346\255\243\345\210\231\350\241\250\350\276\276\345\274\217/regular.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "regular.md", "notebook_enable": false, "exercise_id": "2b732ec63d934143964a669adfd239d0" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare1.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare1.json" index c4805f6aac76acda9ef826e7f5435b783684f49f..6609a47555df3ec743c2cb44705ff001e11257da 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare1.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare1.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "compare1.md", "notebook_enable": false, "exercise_id": "a54c8f131d9f4e80893ae9badecb6fe6" diff --git "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare2.json" "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare2.json" index 778f3019c123549cdeadf8e5a5012e16a63b3b4e..4450fcfb0492cc14e3e2a2ad8f2dab2398dfccf8 100644 --- "a/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare2.json" +++ "b/data/1.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\345\210\235\351\230\266/9.\347\250\213\345\272\217\350\276\223\345\205\245\350\276\223\345\207\272\345\222\214\345\255\227\347\254\246\344\270\262\345\244\204\347\220\206/3.\345\255\227\347\254\246\344\270\262\346\257\224\350\276\203/compare2.json" @@ -1,6 +1,6 @@ { "type": "code_options", - "author": null, + "author": "Yuan", "source": "compare2.md", "notebook_enable": false, "exercise_id": "fc3ca0907cb640d7bb5eb6cc88974a1c" diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..d7053c4fb1005eceddb8e64bbbe51fa0b15e6c0d --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/config.json" @@ -0,0 +1,23 @@ +{ + "node_id": "oo-e001f9dfe2da4caabaec2a1f75eb5bb3", + "keywords": [], + "children": [], + "export": [ + "exercise_pre.json", + "exercise_1.json", + "exercise_2.json", + "exercise_3.json", + "exercise_4.json", + "exercise_10.json", + "exercise_11.json", + "exercise_5.json", + "exercise_8.json", + "exercise_9.json", + "exercise_12.json", + "exercise_6.json", + "exercise_7.json" + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_1.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_1.json" new file mode 100644 index 0000000000000000000000000000000000000000..e1a3861e37736e6f11efac1b9c9196bdc08497df --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_1.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_1.md", + "notebook_enable": false, + "exercise_id": "f8923895ff074f8888b3ba208e15b8d3" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_1.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_1.md" new file mode 100644 index 0000000000000000000000000000000000000000..40779acedab06e30b7c1cb27251eb41baa6c9612 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_1.md" @@ -0,0 +1,35 @@ +# 题目1 + + +#### 题目1 + +创建一个Book类,Book类的属性如下: + +| 属性名 | 类型 | 说明 | +| ----------- | -------- | ------------ | +| id | int | 书的id | +| bookName | String | 书名 | +| type | BookType | 书的类型 | +| borrowTimes | int | 书的借阅次数 | +| pages | int | 书的页码 | +| price | double | 书的价格 | + +注意:这些属性都是private权限 + + +## 答案 + +```java +public class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; +} + +``` + +## 选项 + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_10.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_10.json" new file mode 100644 index 0000000000000000000000000000000000000000..166150ac67469e02aaca710aafb2e2b4a420dc27 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_10.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_10.md", + "notebook_enable": false, + "exercise_id": "37f75007dd1c430583ae28c5f537c097" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_10.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_10.md" new file mode 100644 index 0000000000000000000000000000000000000000..8f057df4edf20498a05e75f3fa167a6dfc8e0fcd --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_10.md" @@ -0,0 +1,31 @@ +# 题目10 + +定义一个新的类OperatingSystemBook,这个类继承自Book类,实现构造方法`public OperatingSystemBook(int id, String bookName, BookType type, int pages, double price);`,完成和父类Book相同的构造方法。 + +同时并实现一个`public void printBookName();`方法,作用是打印"This is xxx",其中xxx是书名(打印需要带换行符)。 + +提示:推荐使用`System.out.println()`来实现打印。 + + +## 答案 + +```java +public class OperatingSystemBook extends Book { + + public OperatingSystemBook(int id, String bookName, BookType type, int pages, double price) { + super(id, bookName, type, pages, price); + } + + public void printBookName() { + System.out.println("This is " + getBookName()); + } +} + + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_11.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_11.json" new file mode 100644 index 0000000000000000000000000000000000000000..ab07333d25a2ec17a01e1813ade28f89a14f974c --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_11.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_11.md", + "notebook_enable": false, + "exercise_id": "25cb118c94064c0d827cbe1b0ee21453" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_11.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_11.md" new file mode 100644 index 0000000000000000000000000000000000000000..f6a7a2fb7d9e43ed669f9bb9f4491f9d511afbd0 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_11.md" @@ -0,0 +1,35 @@ +# 题目11 + + +Book类的对象都有id属性,对于id的管理,在每次新建对象的时候手动输入id显然是极为麻烦的,而且会出现id重复的可能。 + +因此,我们需要实现一个类来帮助管理id,请创建一个IDHolder类,类的属性如下: + +| 属性名 | 类型 | 说明 | +| ------ | ---- | ------------ | +| id | int | 当前分配的id | + +注意:id为private权限,id为静态变量。 + + + +## 答案 + +```java + +public class IDHolder { + private static int id = 1; +} + +``` + +## 选项 + + +## 补充 + +请思考将id设置成静态变量的原因。 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_12.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_12.json" new file mode 100644 index 0000000000000000000000000000000000000000..c96fceec77bf6327a4fdf49325c5e523a3eefc2d --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_12.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_12.md", + "notebook_enable": false, + "exercise_id": "438930f965764e938748249f479c4aaf" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_12.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_12.md" new file mode 100644 index 0000000000000000000000000000000000000000..760b1bde6269e57cb4f12e79b399925af880bbbe --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_12.md" @@ -0,0 +1,25 @@ +# 题目12 + + +在IDHolder类中,实现一个`public static int fetchId();`,返回当前分配的id,并将id属性的值加一。 + + + +## 答案 + +```java + +public class IDHolder { + private static int id = 1; + + public static int fetchId() { + return id++; + } +} + +``` + +## 选项 + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_2.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_2.json" new file mode 100644 index 0000000000000000000000000000000000000000..15809acea0b13308ceb01236fe37904622adfb2b --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_2.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_2.md", + "notebook_enable": false, + "exercise_id": "6d1b3337ee784f41a73b8c008f8d0c15" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_2.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_2.md" new file mode 100644 index 0000000000000000000000000000000000000000..96e2fd79f975647023708d692bbbee1ee146d803 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_2.md" @@ -0,0 +1,60 @@ +# 题目2 + +在Book类中,实现下列方法: + ++ `public int getId();`方法,作用是获取id属性; + ++ `public String getBookName();`方法,作用是获取bookName属性; + ++ `public BookType getBookType();`方法,作用是获取bookType属性; + ++ `public int getBorrowTimes();`方法,作用是获取borrowTimes属性; + ++ `public int getPages();`方法,作用是获取pages属性; + ++ `public double getPrice();`方法,作用是获取price属性。 + +## 答案 + +```java +public class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + + public int getId() { + return id; + } + + public String getBookName() { + return bookName; + } + + public BookType getBookType() { + return type; + } + + public int getBorrowTimes() { + return borrowTimes; + } + + public int getPages() { + return pages; + } + + public double getPrice() { + return price; + } +} + +``` + +## 选项 + +## 补充 +这类方法,在Java中,我们一般称之为Getter方法,作用是对外提供访问类的私有属性的接口。 +在IDEA中,在Code-Generate中可以一键生成Getter方法。 + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_3.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_3.json" new file mode 100644 index 0000000000000000000000000000000000000000..ad88fd237d144baeb84d6abe86910252de5a0830 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_3.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_3.md", + "notebook_enable": false, + "exercise_id": "951b055ad89f49c78d3ed7fbfeb166ac" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_3.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_3.md" new file mode 100644 index 0000000000000000000000000000000000000000..647ecfe1352b064618df41385ea941cd0d149787 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_3.md" @@ -0,0 +1,59 @@ +# 题目3 + +实现一个方法`public Book(int id, String bookName, BookType type, int pages, double price);`,作用是使用方法中的参数初始化对象的属性,注意参数没有borrowTimes属性,对象的borrowTimes属性直接设置成0。 + +提示:如果担心id冲突,可以使用`this.id=id;`这样的写法,this代表对象本身 + + +## 答案 + +```java +public class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + + public Book(int id, String bookName, BookType type, int pages, double price) { + this.id = id; + this.bookName = bookName; + this.type = type; + this.pages = pages; + this.price = price; + this.borrowTimes = 0; + } + + public int getId() { + return id; + } + + public String getBookName() { + return bookName; + } + + public BookType getBookType() { + return type; + } + + public int getBorrowTimes() { + return borrowTimes; + } + + public int getPages() { + return pages; + } + + public double getPrice() { + return price; + } +} + +``` + +## 选项 + +## 补充 +这类方法,在Java中,我们一般称之为**构造方法**,这类方法的前面没有public/private这样的关键字,**方法名也只能是类名**,在新建一个该类的对象时会自动调用该方法完成对对象的初始化。 + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_4.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_4.json" new file mode 100644 index 0000000000000000000000000000000000000000..7314ea1f1d54787dc391b5565f4284fd67d91eee --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_4.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_4.md", + "notebook_enable": false, + "exercise_id": "58a14cb1298e4e1993f6f2502c21c706" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_4.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_4.md" new file mode 100644 index 0000000000000000000000000000000000000000..ac5e4ff4229185611f2151c609581df3f0f6df27 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_4.md" @@ -0,0 +1,76 @@ +# 题目4 + + +再定义一个构造方法`public Book();`,作用是: + ++ 将id设置成1 ++ bookName设置成"BUAAOO" ++ type设置成BookType.ObjectOrientedBook ++ borrowTimes设置成0 ++ pages设置成100 ++ price设置成50.0 + + +## 答案 + +```java +public class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + + public Book(int id, String bookName, BookType type, int pages, double price) { + this.id = id; + this.bookName = bookName; + this.type = type; + this.pages = pages; + this.price = price; + this.borrowTimes = 0; + } + + public Book() { + this.id = 1; + this.bookName = "BUAAOO"; + this.type = BookType.ObjectOrientedBook; + this.pages = 100; + this.price = 50.0; + this.borrowTimes = 0; + } + + public int getId() { + return id; + } + + public String getBookName() { + return bookName; + } + + public BookType getBookType() { + return type; + } + + public int getBorrowTimes() { + return borrowTimes; + } + + public int getPages() { + return pages; + } + + public double getPrice() { + return price; + } +} + +``` + +## 选项 + +## 补充 +在实现这个方法的时候,并不用将题目3中的方法删除,**他们并不冲突**。 +这是因为这两个方法虽然有着相同的名字,但他们的参数不同,所以导致这两个方法其实是可以共存的。这种现象在Java中称为**重载(Overloading)**。 + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_5.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_5.json" new file mode 100644 index 0000000000000000000000000000000000000000..48a20717b85a45f2050756be5e1805e995d5a4ea --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_5.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_5.md", + "notebook_enable": false, + "exercise_id": "de97e9a9e419494f8b8874051c93079b" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_5.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_5.md" new file mode 100644 index 0000000000000000000000000000000000000000..464f25bf6af0ae65b42abc545be7d2774b55e7f5 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_5.md" @@ -0,0 +1,65 @@ +# 题目5 + + +Book类的工作已经告一段落了,由于要实现一些Book的子类,现在将Book类改写为一个抽象类。 + + +## 答案 + +```java +public abstract class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + + public Book(int id, String bookName, BookType type, int pages, double price) { + this.id = id; + this.bookName = bookName; + this.type = type; + this.pages = pages; + this.price = price; + this.borrowTimes = 0; + } + + public Book() { + this.id = 1; + this.bookName = "BUAAOO"; + this.type = BookType.ObjectOrientedBook; + this.pages = 100; + this.price = 50.0; + this.borrowTimes = 0; + } + + public int getId() { + return id; + } + + public String getBookName() { + return bookName; + } + + public BookType getBookType() { + return type; + } + + public int getBorrowTimes() { + return borrowTimes; + } + + public int getPages() { + return pages; + } + + public double getPrice() { + return price; + } +} + +``` + +## 选项 + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_6.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_6.json" new file mode 100644 index 0000000000000000000000000000000000000000..0c81f2772ec93630bb7afa9181376d0ffaa52ba5 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_6.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_6.md", + "notebook_enable": false, + "exercise_id": "62514c7ae51443c39a636ed8f87ab1e2" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_6.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_6.md" new file mode 100644 index 0000000000000000000000000000000000000000..3ed712e0794643d6beadeb26645de2342d80b996 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_6.md" @@ -0,0 +1,20 @@ +# 题目6 + + +定义一个新的类DataBaseBook,这个类**继承**自Book类。 + + +## 答案 + +```java +public class DataBaseBook extends Book { +} + +``` + +## 选项 + +## 补充 +仅仅新建这个类是不够的,因为没有重写(Overwrite)父类的构造方法,因此,在题目7中,我们需要重写父类的构造方法,这样才能算成功新建一个类。 + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_7.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_7.json" new file mode 100644 index 0000000000000000000000000000000000000000..dcddff077d80f4f457d90aa0ee05058e65b846fb --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_7.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_7.md", + "notebook_enable": false, + "exercise_id": "75d51d12e2c04154b715b8751f388150" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_7.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_7.md" new file mode 100644 index 0000000000000000000000000000000000000000..137371c7ebf90f1e3921688b851494425068934a --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_7.md" @@ -0,0 +1,22 @@ +# 题目7 + + +在JavaBook类中,实现一个构造方法`public DataBaseBook(int id, String bookName, BookType type, int pages, double price);`,完成和父类Book相同的构造方法。 + +提示:super关键字 + + +## 答案 + +```java +public class DataBaseBook extends Book { + super(id, bookName, type, pages, price); +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_8.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_8.json" new file mode 100644 index 0000000000000000000000000000000000000000..0ecc1ed8af8830f160ef6722da0d12e875c57e1e --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_8.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_8.md", + "notebook_enable": false, + "exercise_id": "142400cf923c4306aa5d1231177b55ff" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_8.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_8.md" new file mode 100644 index 0000000000000000000000000000000000000000..853beed35e9c8acd523aedfa7a4f07fd4803ae2a --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_8.md" @@ -0,0 +1,26 @@ +# 题目8 + +定义一个新的类ObjectOrientedBook,这个类继承自Book类,ObjectOrientedBook类还具有如下属性 + +| 属性名 | 类型 | 说明 | +| ----------- | ------- | ------------ | +| recommended | boolean | 书是否被推荐 | + +注意:该属性为private权限。 + + + +## 答案 + +```java +public class ObjectOrientedBook extends Book { + private boolean recommended; +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_9.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_9.json" new file mode 100644 index 0000000000000000000000000000000000000000..7bba39ad100e88d10736280ec78cc2d9d7807728 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_9.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_9.md", + "notebook_enable": false, + "exercise_id": "6013e303ca8147269aa4659c743e1303" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_9.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_9.md" new file mode 100644 index 0000000000000000000000000000000000000000..800239f753c29920830543c72b19eda628449611 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_9.md" @@ -0,0 +1,29 @@ +# 题目9 + +在ObjectOrientedBook类中,实现一个构造方法`public ObjectOrientedBook(String bookName, BookType type, int pages, double price, boolean recommended);`,方法的作用是在父类相同的构造方法的基础上,同时实现将recommended属性设置成参数中recommended的值。 + + + + + +## 答案 + +```java +public class ObjectOrientedBook extends Book { + private boolean recommended; + + public ObjectOrientedBook(String bookName, BookType type, int pages, double price, boolean recommended) { + super(bookName, type, pages, price); + this.recommended = recommended; + } + +} + + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_pre.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_pre.json" new file mode 100644 index 0000000000000000000000000000000000000000..0030100de2532376d30b53694a4e3d561cafdbbb --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_pre.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_pre.md", + "notebook_enable": false, + "exercise_id": "30ff3dc3fba849eb9c794f576559b94a" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_pre.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_pre.md" new file mode 100644 index 0000000000000000000000000000000000000000..4db316dff051a6ca954cc3d0428ba588b82e4a9f --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/1.\347\261\273\347\232\204\350\256\276\350\256\241/exercise_pre.md" @@ -0,0 +1,19 @@ +# OO技能树-1, 目标是了解创建对象的流程和工厂模式。 +# 题目 pre + +创建一个枚举类BookType,里面包含ObjectOrientedBook, DataBaseBook, OperatingSystemBook三个书的类型。 + + +## 答案 + +```java +public enum BookType { + ObjectOrientedBook, + DataBaseBook, + OperatingSystemBook +} + +``` + +## 选项 + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..3554084321b60fe25a3de9d3aeaeb3e4628b8d5e --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/config.json" @@ -0,0 +1,15 @@ +{ + "node_id": "oo-fbc8f6f1cd754850afe77bc2c0aa94af", + "keywords": [], + "children": [], + "export": [ + "exercise_14.json", + "exercise_15.json", + "exercise_16.json", + "exercise_17.json", + "exercise_13.json" + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_13.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_13.json" new file mode 100644 index 0000000000000000000000000000000000000000..2f597e8e430bba25b9f08c6fde8d14a4aebd7c4b --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_13.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_13.md", + "notebook_enable": false, + "exercise_id": "5c7c56fa09224e07bbaa84ad72a0ad7f" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_13.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_13.md" new file mode 100644 index 0000000000000000000000000000000000000000..6e9eee72a38fa839d70718304983bed7e85bbc9b --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_13.md" @@ -0,0 +1,23 @@ +# 题目13 + +在有了三个Book的子类后,我们可以考虑创建这些类的对象了。 + +在创建对象时,可以直接创建,但一种更加优雅的方式是新建一个类,专门负责创建这些类的对象。 + +请创建一个BookSeller类。 + +## 答案 + +```java +public class BookSeller { + +} + +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_14.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_14.json" new file mode 100644 index 0000000000000000000000000000000000000000..4ab46d4650dab78fab4117e015fe3a5d4e4e0950 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_14.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_14.md", + "notebook_enable": false, + "exercise_id": "cb192461709746dd8013e3e19f46256d" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_14.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_14.md" new file mode 100644 index 0000000000000000000000000000000000000000..2ff53394f4c2e22887f7cf4e92829768007f4e94 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_14.md" @@ -0,0 +1,25 @@ +# 题目14 + +在BookSeller类中实现`public Book createBook(String name, String type);`方法,作用是当type等于"DB"时,创建一个DataBaseBook对象,对象的id是由IDHolder分配的id,name是参数的name,type是该类对应的枚举对象,pages为200,price为50.0。 + + +## 答案 + +```java + +public class BookSeller { + public Book createBook(String name, String type) { + if (type.equals("DB")) { + return new DataBaseBook(IDHolder.fetchId(), name, BookType.DataBaseBook, 200, 50.0); + } + } +} + +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_15.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_15.json" new file mode 100644 index 0000000000000000000000000000000000000000..50617bff44c53ce138e51bf7b73d694376a03c7c --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_15.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_15.md", + "notebook_enable": false, + "exercise_id": "50888eb4f85d4b32a6e2c9a8b0065c69" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_15.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_15.md" new file mode 100644 index 0000000000000000000000000000000000000000..94a832a30fbf8b5b5eebbe77be259eec462f69f2 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_15.md" @@ -0,0 +1,28 @@ +# 题目15 + +在题目14的方法中迭代开发,实现当type等于"OO"时,创建一个ObjectOriented对象,对象的id是由IDHolder分配的id,name是参数的name,type是该类对应的枚举对象,pages为500,price为88.8,recommended为true。 + + +## 答案 + +```java + +public class BookSeller { + public Book createBook(String name, String type) { + if (type.equals("DB")) { + return new DataBaseBook(IDHolder.fetchId(), name, BookType.DataBaseBook, 200, 50.0); + } + else if (type.equals("OO")) { + return new ObjectOrientedBook(IDHolder.fetchId(), name, BookType.ObjectOrientedBook, 500, 88.8, true); + } + } +} + +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_16.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_16.json" new file mode 100644 index 0000000000000000000000000000000000000000..1afbb008fff6879847e07c1b303926199dec92b0 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_16.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_16.md", + "notebook_enable": false, + "exercise_id": "26de3f80bad24fa7af1a709d34635780" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_16.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_16.md" new file mode 100644 index 0000000000000000000000000000000000000000..b1f2aabec35060065d1ec71c46fc36d9239d9861 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_16.md" @@ -0,0 +1,32 @@ +# 题目16 + +在题目15的方法中迭代开发,实现当type等于"OS"时,创建一个OperatingSystemBook对象,对象的id是由IDHolder分配的id,name是参数的name,type是该类对应的枚举对象,pages为100,price为100。 + + + + +## 答案 + +```java +public class BookSeller { + public Book createBook(String name, String type) { + if (type.equals("DB")) { + return new DataBaseBook(IDHolder.fetchId(), name, BookType.DataBaseBook, 200, 50.0); + } + else if (type.equals("OO")) { + return new ObjectOrientedBook(IDHolder.fetchId(), name, BookType.ObjectOrientedBook, 500, 88.8, true); + } + else if (type.equals("OS")) { + return new OperatingSystemBook(IDHolder.fetchId(), name, BookType.OperatingSystemBook, 100, 100); + } + } +} + +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_17.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_17.json" new file mode 100644 index 0000000000000000000000000000000000000000..475e67103d7c9fd575ee228ceb1ea40765433d06 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_17.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_17.md", + "notebook_enable": false, + "exercise_id": "fa42a035970944d981cf5d8d62825c6c" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_17.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_17.md" new file mode 100644 index 0000000000000000000000000000000000000000..1f066e3684fd40808e8fcc628d4cae47c4e2c812 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/2.\345\210\233\345\273\272\347\261\273\345\257\271\350\261\241/exercise_17.md" @@ -0,0 +1,31 @@ +# 题目17 + + +还需要考虑的一个情况是type不满足上述的三种情况,这个时候需要返回null,代表创建了空对象。 + +## 答案 + +```java +public class BookSeller { + public Book createBook(String name, String type) { + if (type.equals("DB")) { + return new DataBaseBook(IDHolder.fetchId(), name, BookType.DataBaseBook, 200, 50.0); + } + else if (type.equals("OO")) { + return new ObjectOrientedBook(IDHolder.fetchId(), name, BookType.ObjectOrientedBook, 500, 88.8, true); + } + else if (type.equals("OS")) { + return new OperatingSystemBook(IDHolder.fetchId(), name, BookType.OperatingSystemBook, 100, 100); + } + return null; + } +} + +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..87425d4e3583191295ee032c5e09fdf79d32b9a6 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/config.json" @@ -0,0 +1,11 @@ +{ + "node_id": "oo-a86e2abd5f014ba08eacff1faafdc338", + "keywords": [], + "children": [], + "export": [ + "summary.json" + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.json" new file mode 100644 index 0000000000000000000000000000000000000000..550ae2e487bf168adda049386520d88a5382ff0a --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "summary.md", + "notebook_enable": false, + "exercise_id": "453485ce7c864b2c82025deb28c6856a" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.md" new file mode 100644 index 0000000000000000000000000000000000000000..4bf5c11e8b225fc92f3f401d9b357ba18c469276 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/3.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.md" @@ -0,0 +1,36 @@ +# 总结 + + +至此,本部分的技能树就告一段落了,我们实现的BookSeller其实是Java中的一个设计模式——工厂模式。 + +工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。它提供了一种创建对象的最佳方式。 + +在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个**共同的接口**来指向新创建的对象,大大减小了代码冗余的情况。 + +这类设计模式具有如下优点: + ++ 因为调用创建方法的对象只需要传递type参数,因此调用者只需要提供type参数就行,不需要知道创建的具体细节。 ++ 扩展性高,如果想增加新的创建逻辑,只需要在工厂类中新增就行。 + + + +# 思考题 + +思考使用工厂模式创建对象和直接实现创建对象的区别。当只有一个方法需要创建对象时?当有多个方法需要创建对象时? + + +# 课下任务 + +了解抽象工厂模式。 + + +## 答案 + + + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..e758040ba94a9d9c840cf616362e2a47834f5556 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/1.\345\210\233\345\273\272\345\257\271\350\261\241\346\265\201\347\250\213\345\222\214\345\267\245\345\216\202\346\250\241\345\274\217/config.json" @@ -0,0 +1,7 @@ +{ + "node_id": "oo-bbd848aed67045f3ab960fc67217edbd", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..14f09e98e6bf3096ae6788b477fadcd86dc81bb5 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/config.json" @@ -0,0 +1,27 @@ +{ + "node_id": "oo-695375b6a7e1429486791ca169d82219", + "keywords": [], + "children": [], + "export": [ + "exercise_1.json", + "exercise_14.json", + "exercise_4.json", + "exercise_10.json", + "exercise_11.json", + "exercise_15.json", + "exercise_5.json", + "exercise_8.json", + "exercise_9.json", + "exercise_12.json", + "exercise_2.json", + "exercise_16.json", + "exercise_6.json", + "exercise_17.json", + "exercise_7.json", + "exercise_13.json", + "exercise_3.json" + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_1.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_1.json" new file mode 100644 index 0000000000000000000000000000000000000000..032de5fa031454330de3ce124534943b0f046590 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_1.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_1.md", + "notebook_enable": false, + "exercise_id": "a8efeb5ca6974e168041692c80af0be1" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_1.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_1.md" new file mode 100644 index 0000000000000000000000000000000000000000..45935131b51be366c712c984043bfb8835c4c7e1 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_1.md" @@ -0,0 +1,31 @@ +# OO技能树-2, 目标是了解Java中的几种容器和容器的访问方法。 + + +# 题目1 + +我们在上一道大题的基础上继续开发,初步完成图书管理系统的框架。 + +Book类需要一个书架来储存,因此我们新建一个BookShelf类,包含如下属性: + +| 属性名 | 属性类别 | 说明 | +| ------ | ------------ | -------------------- | +| shelf | List\ | 管理书的列表 | +| type | BookType | 书架中存放的书的种类 | + +注意:这些属性都是private权限。 + + +## 答案 + +```java +import java.util.List; + +public class BookShelf { + private List shelf; + private BookType type; +} + +``` + +## 选项 + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_10.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_10.json" new file mode 100644 index 0000000000000000000000000000000000000000..5d26965321ca45b34168a3244c835a2bc4c2f299 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_10.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_10.md", + "notebook_enable": false, + "exercise_id": "b1f02be1818c4dcbb5b6f374e27871ed" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_10.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_10.md" new file mode 100644 index 0000000000000000000000000000000000000000..3671523a75edd38be7b9ce73ab05d36c70d7013d --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_10.md" @@ -0,0 +1,29 @@ +# 题目10 + +在Student类的属性中新增下列属性: + +| 属性名 | 属性类别 | 说明 | +| ------- | -------------- | ---------------------------- | +| manager | LibraryManager | 学生引用的LibraryManager对象 | + +注意:属性是private权限。 + +## 答案 + +```java + +public abstract class Student { + private int id; + private String name; + private int booksBorrowed; + private int age; + private LibraryManager manager; +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_11.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_11.json" new file mode 100644 index 0000000000000000000000000000000000000000..749baa35b16aced7e89ba14d389acf0d3e6c05b1 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_11.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_11.md", + "notebook_enable": false, + "exercise_id": "bfbaa880c59845f688798f9cfb55743f" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_11.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_11.md" new file mode 100644 index 0000000000000000000000000000000000000000..9170416fee6b98a2471b76aa0044c06d24f9da10 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_11.md" @@ -0,0 +1,41 @@ +# 题目11 + +在Student类中新增构造方法`public Student(String name, int age, LibraryManager manager);`,该方法的作用是 + ++ 使用IDHolder获取id + ++ 将属性name设置成参数name + ++ 将属性age设置成参数age + ++ 将booksBorrowed设置为0 + ++ 将manager设置为参数manager + + +## 答案 + +```java + +public abstract class Student { + private int id; + private String name; + private int booksBorrowed; + private int age; + private LibraryManager manager; + public Student(String name, int age, LibraryManager manager) { + this.id = IDHolder.fetchStuId(); + this.name = name; + this.age = age; + this.booksBorrowed = 0; + this.manager = manager; + } +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_12.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_12.json" new file mode 100644 index 0000000000000000000000000000000000000000..7a00948545eb4aa005c4e6f7cb2882ce7dd6397a --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_12.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_12.md", + "notebook_enable": false, + "exercise_id": "49f1bf952cac422780e1dfca9e570e6e" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_12.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_12.md" new file mode 100644 index 0000000000000000000000000000000000000000..27ea45aa9c51003c38025dd5a8f77c97d6834fdb --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_12.md" @@ -0,0 +1,33 @@ +# 题目12 + +在LibraryManager类中实现`public Book getBook(String name, BookType type);`方法,作用是获取属性为type的书架中,名字为name的书。 + + + + +## 答案 + +```java + +public class LibraryManager { + private Map lib; + private List students; + + public LibraryManager() { + lib = new HashMap<>(); + students = new ArrayList<>(); + } + + public Book getBook(String name, BookType type) { + BookShelf shelf = lib.get(type); + return shelf.getBook(name); + } +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_13.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_13.json" new file mode 100644 index 0000000000000000000000000000000000000000..ab438bd9fed4e48232319a73a0e6fcb33194ad26 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_13.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_13.md", + "notebook_enable": false, + "exercise_id": "f559eeaafb704b5caf7b4f1698bec711" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_13.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_13.md" new file mode 100644 index 0000000000000000000000000000000000000000..a9893c2ad74a21b61f188c3b3e397f7f59d06dba --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_13.md" @@ -0,0 +1,49 @@ +# 题目13 + + +在Book类中添加下列属性: + +| 属性名 | 属性类别 | 说明 | +| --------- | -------- | -------------- | +| available | boolean | 该书是否被借阅 | + +并在构造方法中增加相关内容,此时该属性应该设置为true。 + +注意:属性是private权限。 + + + + +## 答案 + +```java +public abstract class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + private boolean available; + + public Book(int id, String bookName, BookType type, int pages, double price) { + this.id = id; + this.bookName = bookName; + this.type = type; + this.borrowTimes = 0; + this.pages = pages; + this.price = price; + this.available = true; + } +} +``` + +## 选项 + +## 补充 + +这里初步体现出了继承的一个优点:即有新增的属性只用在父类中新增即可,不用在每个子类中新增,可扩展性强。 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_14.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_14.json" new file mode 100644 index 0000000000000000000000000000000000000000..1d6456d73c7bb29213eae037478db96bf0663189 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_14.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_14.md", + "notebook_enable": false, + "exercise_id": "00310543741349ddb2ef577bb26a21ac" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_14.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_14.md" new file mode 100644 index 0000000000000000000000000000000000000000..6bcb762661cb3c4498f5c0f54938061ea9132b70 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_14.md" @@ -0,0 +1,44 @@ +# 题目14 + + + +在Book类中实现`public void borrowed();`方法,作用是修改借阅状态,表示这本书已经被借阅,同时将这本书的借阅次数加一。 + + + + +## 答案 + +```java +public abstract class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + private boolean available; + + public Book(int id, String bookName, BookType type, int pages, double price) { + this.id = id; + this.bookName = bookName; + this.type = type; + this.borrowTimes = 0; + this.pages = pages; + this.price = price; + this.available = true; + } + + public void borrowed() { + this.available = false; + borrowTimes++; + } +} +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_15.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_15.json" new file mode 100644 index 0000000000000000000000000000000000000000..b92aa51f6c6d80054005bc3de1c4f00217b1c9ee --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_15.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_15.md", + "notebook_enable": false, + "exercise_id": "ff7325af40a24b2fba710b56c31bb716" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_15.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_15.md" new file mode 100644 index 0000000000000000000000000000000000000000..bfff4037815ac3768592b0e3768e27a35512bf6f --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_15.md" @@ -0,0 +1,45 @@ +# 题目15 +在Book类中实现`public void returned();`方法,作用是修改借阅状态,表示这本书已经被归还。 + + + +## 答案 + +```java +public abstract class Book { + private int id; + private String bookName; + private BookType type; + private int borrowTimes; + private int pages; + private double price; + private boolean available; + + public Book(int id, String bookName, BookType type, int pages, double price) { + this.id = id; + this.bookName = bookName; + this.type = type; + this.borrowTimes = 0; + this.pages = pages; + this.price = price; + this.available = true; + } + + public void borrowed() { + this.available = false; + borrowTimes++; + } + + public void returned() { + this.available = true; + } + +} +``` + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_16.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_16.json" new file mode 100644 index 0000000000000000000000000000000000000000..e4f6c59c18e2e225ba863c849849a043d386c11a --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_16.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_16.md", + "notebook_enable": false, + "exercise_id": "2d36930d6d0944ee86b854948c05d149" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_16.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_16.md" new file mode 100644 index 0000000000000000000000000000000000000000..60b7dcb789c51280a00c5564ad1bd75af595ca6d --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_16.md" @@ -0,0 +1,54 @@ +# 题目16 + +在Student类中实现`public Book borrowBook(String name, BookType type);`方法,作用是获取名字为name且属性为type的的Book对象,修改学生的借书次数、书籍的被借阅次数和书籍的借阅状态。 + +建议:借助Book类的`borrowed()`方法和LibraryManager类的`getBook()`方法。 + +## 答案 + +```java +public abstract class Student { + private int id; + private String name; + private int borrowTimes; + private int age; + private LibraryManager manager; + + public Student(String name, int age, LibraryManager manager) { + this.id = IDHolder.fetchStuId(); + this.name = name; + this.age = age; + this.borrowTimes = 0; + this.manager = manager; + } + + public Book borrowBook(String name, BookType type) { + Book book = null; + try { + book = manager.getBook(name, type); + } catch (NullPointerException e) { + e.printStackTrace(); + System.out.println("I catch the null pointer!"); + } + if (book == null) { + return null; + } + borrowTimes++; + book.borrowed(); + return book; + } +} +``` + +## 选项 + +## 补充 + +题目12的意图是封装LibraryManager类的获取Book对象的方法,从而在Student类的`borrowBook()`方法中,只需要调用`manager.getBook()`而非`manager.getBookShelf().getBook()`。 + +这样有效地较低了类之间(Student和BookShelf)的耦合度,符合设计原则中的“最少知识原则”。 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_17.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_17.json" new file mode 100644 index 0000000000000000000000000000000000000000..b312473ebac056478e0e5e94d68ad481748b561d --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_17.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_17.md", + "notebook_enable": false, + "exercise_id": "4906b0fc62a64506ab31421e1a02f43b" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_17.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_17.md" new file mode 100644 index 0000000000000000000000000000000000000000..d55bcf61275b492937b0abdcb2ff1c43607d9e0c --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_17.md" @@ -0,0 +1,61 @@ +# 题目17 + + +在Student类中实现`public Book retrunBook(String name, BookType type);`方法,作用是返还名字为name且属性为type的的Book对象,通过修改书籍的借阅状态实现。 + + +## 答案 + +```java +public abstract class Student { + private int id; + private String name; + private int borrowTimes; + private int age; + private LibraryManager manager; + + public Student(String name, int age, LibraryManager manager) { + this.id = IDHolder.fetchStuId(); + this.name = name; + this.age = age; + this.borrowTimes = 0; + this.manager = manager; + } + + public Book borrowBook(String name, BookType type) { + Book book = null; + try { + book = manager.getBook(name, type); + } catch (NullPointerException e) { + e.printStackTrace(); + System.out.println("I catch the null pointer!"); + } + if (book == null) { + return null; + } + borrowTimes++; + book.borrowed(); + return book; + } + + public void returnBook(String name, BookType type) { + Book book = null; + try { + book = manager.getBook(name, type); + } catch (NullPointerException e) { + e.printStackTrace(); + System.out.println("I catch the null pointer!"); + } + if (book == null) { + return; + } + book.returned(); + } +} +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_2.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_2.json" new file mode 100644 index 0000000000000000000000000000000000000000..362dcbf9959f6451d9c96c7514e4e3c809debba7 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_2.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_2.md", + "notebook_enable": false, + "exercise_id": "cab3d7435db24f17abc87106cee23b75" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_2.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_2.md" new file mode 100644 index 0000000000000000000000000000000000000000..7895d7db7ee07a9dd71e3e75f71516a989181d98 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_2.md" @@ -0,0 +1,38 @@ +# 题目2 +在BookShelf类中定义一个构造方法`public BookShelf(BookType type);`,构造一个type属性为参数type的**空书架**,其中shelf属性使用ArrayList实现。 + + +## 答案 + +```java +import java.util.List; + +public class BookShelf { + private List shelf; + private BookType type; + + public BookShelf(BookType type) { + this.shelf = new ArrayList<>(); + this.type = type; + } +} + +``` + +## 选项 + + +## 补充 + +一些同学会好奇,为什么参数里面shelf的类型是List,而实现却是用ArrayList实现的。其实这是面向对象三大特性之一——多态,多态的一个特点就是父类引用子类实例,而在我们的ArrayList源代码中,是这么声明的: + +```java +public class ArrayList extends AbstractList + implements List, RandomAccess, Cloneable, java.io.Serializable +{ +... +} +``` + +ArrayList实现了List接口,因此可以用List引用ArrayList实例。 + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_3.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_3.json" new file mode 100644 index 0000000000000000000000000000000000000000..a659a095a28faeb400f373941fe5f89995de0e18 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_3.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_3.md", + "notebook_enable": false, + "exercise_id": "a3440336293c4f379858bcac10cbec36" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_3.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_3.md" new file mode 100644 index 0000000000000000000000000000000000000000..f6953dd8f25860e9aec88c3e0a167da9706965f2 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_3.md" @@ -0,0 +1,34 @@ +# 题目3 +在BookShelf中,实现一个`public Book getBook(String name);`方法,从shelf中返回bookName属性值等于参数中name的Book对象,若没有,则返回null。 + + +## 答案 + +```java +public class BookShelf { + private List shelf; + private BookType type; + + public BookShelf(BookType type) { + this.shelf = new ArrayList<>(); + this.type = type; + } + + public Book getBook(String name) { + for (Book book: shelf) { + if (book.getBookName().equals(name)) { + return book; + } + } + return null; + } +} + + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_4.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_4.json" new file mode 100644 index 0000000000000000000000000000000000000000..0d7bcbbee857ecbcc1079c506532f7a368c8c189 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_4.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_4.md", + "notebook_enable": false, + "exercise_id": "310522868d654406a931138967ec3657" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_4.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_4.md" new file mode 100644 index 0000000000000000000000000000000000000000..038f2edbdeb09d031ab2660a7fbe855cffae9f4c --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_4.md" @@ -0,0 +1,53 @@ +# 题目4 +接着,我们新建Student**抽象类**,该类具有如下属性: + +| 属性名 | 属性类别 | 说明 | +| ------------- | -------- | ------------ | +| id | int | 学生id | +| name | String | 学生姓名 | +| booksBorrowed | int | 学生借书次数 | +| age | int | 学生年龄 | + +注意:这些属性都是private权限。 + +然后,我们修改IDHolder类,实现为Student类分配id的功能(注意和之前的方法区分开)。 +最后,创建Student类的构造函数,该构造函数创建一个姓名为name,年龄为age的学生对象, +其中借书次数默认设置为0,id由IDHolder类自动分配。 + +## 答案 + +```java +public abstract class Student { + private int id; + private String name; + private int booksBorrowed; + private int age; + + public Student(String name, int age) { + this.id = IDHolder.fetchStuId(); + this.name = name; + this.age = age; + this.booksBorrowed = 0; + } +} + +public class IDHolder { + private static int id = 1; + private static int stuId = 1; + + public static int fetchId() { + return id++; + } + + public static int fetchStuId() { + return stuId++; + } +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_5.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_5.json" new file mode 100644 index 0000000000000000000000000000000000000000..8884b2c54e6521f15cde9ecdee0e82ce6508e139 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_5.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_5.md", + "notebook_enable": false, + "exercise_id": "e4329e2f04ee47e28f709c60c4add90d" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_5.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_5.md" new file mode 100644 index 0000000000000000000000000000000000000000..ab6fdb44588884866399ac4db84f522de018d691 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_5.md" @@ -0,0 +1,42 @@ +# 题目5 + + +分别新建Freshman, Sophomore, Senior, Undergraduate四个类,都继承自Student类,并完成其构造方法。构造方法和父类Student的构造方法相同。 + + +## 答案 + +```java + +public class Freshman extends Student { + public Freshman(String name, int age) { + super(name, age); + } + +} +public class Sophomore extends Student { + public Sophomore(String name, int age) { + super(name, age); + } + +} +public class Senior extends Student { + public Senior(String name, int age) { + super(name, age); + } + +} +public class Undergraduate extends Student { + public Undergraduate(String name, int age) { + super(name, age); + } + +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_6.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_6.json" new file mode 100644 index 0000000000000000000000000000000000000000..f9590787cd044e70072f469035f883cfc0301b3a --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_6.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_6.md", + "notebook_enable": false, + "exercise_id": "ac010eddd34d452ab416972c274db789" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_6.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_6.md" new file mode 100644 index 0000000000000000000000000000000000000000..d06bc6e53e6155a10db07d96bf6f454a44d7b47d --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_6.md" @@ -0,0 +1,26 @@ +# 题目6 + +新建LibraryManager类,用于对BookShelf类和Student类进行统一管理,该类具有如下属性: + +| 属性名 | 属性类别 | 说明 | +| -------- | ------------------------ | --------------- | +| lib | Map | 种类-书架对应表 | +| students | List\ | 学生列表 | + +注意:这些属性都是private权限。 + +## 答案 + +```java +public class LibraryManager { + private Map lib; + private List students; +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_7.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_7.json" new file mode 100644 index 0000000000000000000000000000000000000000..fb59a6010609084b264b66d595ff0b575c267e1e --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_7.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_7.md", + "notebook_enable": false, + "exercise_id": "397ada79a20e474b83e3076d8fb1d86e" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_7.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_7.md" new file mode 100644 index 0000000000000000000000000000000000000000..d1b61678a0f50cd63d4601deb4dcd8bac8a0ab07 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_7.md" @@ -0,0 +1,36 @@ +# 题目7 + + +在LibraryManager类中,实现`public void addStudent(Student student);`方法,将student对象加入自身的学生列表中。 + + +## 答案 + +```java + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class LibraryManager implements Subject { + private Map lib; + private List students; + + public LibraryManager() { + lib = new HashMap<>(); + students = new ArrayList<>(); + } + + public void addStudent(Student student) { + students.add(student); + } +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_8.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_8.json" new file mode 100644 index 0000000000000000000000000000000000000000..6bf2a8798fdf99169df4cd3d692c4acec54d30c9 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_8.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_8.md", + "notebook_enable": false, + "exercise_id": "c5673900c35d491cb035ffc727e5131a" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_8.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_8.md" new file mode 100644 index 0000000000000000000000000000000000000000..5a6cf63acac67781b2f1c590836aecf03eec91df --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_8.md" @@ -0,0 +1,41 @@ +# 题目8 + + +在LibraryManager类中,实现`public void addBookShelf(BookType type);`方法,在lib中新增属性为type的书架。 + + + +## 答案 + +```java + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class LibraryManager implements Subject { + private Map lib; + private List students; + + public LibraryManager() { + lib = new HashMap<>(); + students = new ArrayList<>(); + } + + public void addStudent(Student student) { + students.add(student); + } + + public void addBookShelf(BookType type) throws TypeExistsException { + lib.put(type, new BookShelf(type)); + } +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_9.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_9.json" new file mode 100644 index 0000000000000000000000000000000000000000..7dc0f083432fe8d52489792d03ae555b121a40b1 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_9.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "exercise_9.md", + "notebook_enable": false, + "exercise_id": "82ad0de4e90d4bffbcfeb4ad81c1b51e" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_9.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_9.md" new file mode 100644 index 0000000000000000000000000000000000000000..432365b3e9977e48964ccbcf1ab5e3c347d0e1af --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/1.\345\256\271\345\231\250ArrayList\345\222\214HashMap/exercise_9.md" @@ -0,0 +1,47 @@ +# 题目9 +在LibraryManager类中,实现`public BookShelf getBookShelf(BookType type);`,如果lib中有属性为type的书架,则返回该书架,否则返回null。 + + + +## 答案 + +```java + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +public class LibraryManager implements Subject { + private Map lib; + private List students; + + public LibraryManager() { + lib = new HashMap<>(); + students = new ArrayList<>(); + } + + public void addStudent(Student student) { + students.add(student); + } + + public void addBookShelf(BookType type) throws TypeExistsException { + lib.put(type, new BookShelf(type)); + } + + public BookShelf getBookShelf(BookType type) { + if (lib.containsKey(type)) { + return lib.get(type); + } + return null; + } + +} + +``` + +## 选项 + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..8efc370ab07634f00b94eac43370ee57e98b9504 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/config.json" @@ -0,0 +1,11 @@ +{ + "node_id": "oo-c1a3c2e0cb114f75bca3e8ab51796dea", + "keywords": [], + "children": [], + "export": [ + "summary.json" + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.json" new file mode 100644 index 0000000000000000000000000000000000000000..7f93d32d9db5785dba07808f38fb4cc27472fa86 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.json" @@ -0,0 +1,7 @@ +{ + "type": "code_options", + "author": null, + "source": "summary.md", + "notebook_enable": false, + "exercise_id": "6e2b2cbcbe4844ab9e8cb2d62a6f27c7" +} \ No newline at end of file diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.md" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.md" new file mode 100644 index 0000000000000000000000000000000000000000..bd39400ea0b46d766f8727a12e4994af48f59154 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/2.\346\200\273\347\273\223\344\270\216\346\200\235\350\200\203/summary.md" @@ -0,0 +1,31 @@ +# 总结 + +本部分帮助同学们掌握了Java中的两个容器ArrayList和HashMap以及相关的操作方法。 + +和C语言不同,Java不只有数组这样的容器,还有一些封装在java.util下的数据容器,这些容器和数组相比有更加强大、广泛的功能,在增删改查上更加方便,值得同学们好好学习掌握。 + + + +# 思考题 + +“最少知识原则”在降低了类之间的耦合度的同时,会带来哪些缺点? + +如果Student类只记录借阅的不同的书的数量,该怎么办? + + + +# 课下任务 + +了解其他的Java中的容器,如HashSet、PriorQueue、LinedList、Vector等等。 + + +## 答案 + + + +## 选项 + + + + + diff --git "a/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/config.json" "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/config.json" new file mode 100644 index 0000000000000000000000000000000000000000..6f0fc1bfa0e7d4e148009329ec899c096dae0588 --- /dev/null +++ "b/data/2.\351\235\242\345\220\221\345\257\271\350\261\241\347\250\213\345\272\217\350\256\276\350\256\241\344\270\255\351\230\266/2.\345\256\271\345\231\250\345\217\212\345\205\266\350\256\277\351\227\256\346\226\271\346\263\225/config.json" @@ -0,0 +1,7 @@ +{ + "node_id": "oo-bf680c62c078437e8a0e766d8a2b3d6f", + "keywords": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 +} \ No newline at end of file diff --git a/data/tree.json b/data/tree.json index 6b780803128241fd846d7613e2033e7088661a9d..1528c3cb933243ea01086de95f55455b6719ae87 100644 --- a/data/tree.json +++ b/data/tree.json @@ -337,7 +337,80 @@ "面向对象程序设计中阶": { "node_id": "oo-3c4767b318e64f6299afca4a5acbc7ea", "keywords": [], - "children": [], + "children": [ + { + "创建对象流程和工厂模式": { + "node_id": "oo-bbd848aed67045f3ab960fc67217edbd", + "keywords": [], + "children": [ + { + "类的设计": { + "node_id": "oo-e001f9dfe2da4caabaec2a1f75eb5bb3", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + }, + { + "创建类对象": { + "node_id": "oo-fbc8f6f1cd754850afe77bc2c0aa94af", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + }, + { + "总结与思考": { + "node_id": "oo-a86e2abd5f014ba08eacff1faafdc338", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + } + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + }, + { + "容器及其访问方法": { + "node_id": "oo-bf680c62c078437e8a0e766d8a2b3d6f", + "keywords": [], + "children": [ + { + "容器ArrayList和HashMap": { + "node_id": "oo-695375b6a7e1429486791ca169d82219", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + }, + { + "总结与思考": { + "node_id": "oo-c1a3c2e0cb114f75bca3e8ab51796dea", + "keywords": [], + "children": [], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + } + ], + "keywords_must": [], + "keywords_forbid": [], + "group": 0 + } + } + ], "keywords_must": [], "keywords_forbid": [], "group": 0 diff --git a/exercise_13.md b/exercise_13.md new file mode 100644 index 0000000000000000000000000000000000000000..6e9eee72a38fa839d70718304983bed7e85bbc9b --- /dev/null +++ b/exercise_13.md @@ -0,0 +1,23 @@ +# 题目13 + +在有了三个Book的子类后,我们可以考虑创建这些类的对象了。 + +在创建对象时,可以直接创建,但一种更加优雅的方式是新建一个类,专门负责创建这些类的对象。 + +请创建一个BookSeller类。 + +## 答案 + +```java +public class BookSeller { + +} + +``` + +## 选项 + + + + + diff --git a/exercise_14.md b/exercise_14.md new file mode 100644 index 0000000000000000000000000000000000000000..d64f5d5aecb80dbb9d3515a0f7a4abd4460169a5 --- /dev/null +++ b/exercise_14.md @@ -0,0 +1,26 @@ +# 题目14 + +在BookSeller类中实现`public Book createBook(String name, String type);`方法,作用是当type等于"DB"时,创建一个DataBaseBook对象,对象的id是由IDHolder分配的id,name是参数的name,type是该类对应的枚举对象,pages为200,price为50.0。 + + +## 答案 + +```java + +public class BookSeller { + public Book createBook(String name, String type) { + if (type.equals("DB")) { + return new DataBaseBook(IDHolder.fetchId(), name, BookType.DataBaseBook, 200, 50.0); + } + return null; + } +} + +``` + +## 选项 + + + + + diff --git a/exercise_pre.md b/exercise_pre.md new file mode 100644 index 0000000000000000000000000000000000000000..4db316dff051a6ca954cc3d0428ba588b82e4a9f --- /dev/null +++ b/exercise_pre.md @@ -0,0 +1,19 @@ +# OO技能树-1, 目标是了解创建对象的流程和工厂模式。 +# 题目 pre + +创建一个枚举类BookType,里面包含ObjectOrientedBook, DataBaseBook, OperatingSystemBook三个书的类型。 + + +## 答案 + +```java +public enum BookType { + ObjectOrientedBook, + DataBaseBook, + OperatingSystemBook +} + +``` + +## 选项 +