{"id":4099,"date":"2025-08-29T18:33:09","date_gmt":"2025-08-29T16:33:09","guid":{"rendered":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/?page_id=4099"},"modified":"2026-04-09T12:55:22","modified_gmt":"2026-04-09T10:55:22","slug":"elementor-4099","status":"publish","type":"page","link":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/elementor-4099\/","title":{"rendered":"Strategy"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"4099\" class=\"elementor elementor-4099\">\n\t\t\t\t<div class=\"elementor-element elementor-element-28a667af e-con-full e-flex e-con e-parent\" data-id=\"28a667af\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-39ebb8c e-flex e-con-boxed e-con e-child\" data-id=\"39ebb8c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-41d0ed56 elementor-icon-list--layout-inline elementor-mobile-align-center elementor-align-left elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"41d0ed56\" data-element_type=\"widget\" data-widget_type=\"icon-list.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<ul class=\"elementor-icon-list-items elementor-inline-items\">\n\t\t\t\t\t\t\t<li class=\"elementor-icon-list-item elementor-inline-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\">\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"icon icon-envelope1\"><\/i>\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">natalia.kaczynska.programista@gmail.com<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-22be8aa elementor-widget elementor-widget-shortcode\" data-id=\"22be8aa\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><div id=\"mega-menu-wrap-secondary_menu\" class=\"mega-menu-wrap\"><div class=\"mega-menu-toggle\"><div class=\"mega-toggle-blocks-left\"><\/div><div class=\"mega-toggle-blocks-center\"><\/div><div class=\"mega-toggle-blocks-right\"><div class='mega-toggle-block mega-menu-toggle-animated-block mega-toggle-block-0' id='mega-toggle-block-0'><button aria-label=\"Show\/hide menu\" class=\"mega-toggle-animated mega-toggle-animated-slider\" type=\"button\" aria-haspopup=\"true\" aria-expanded=\"false\" aria-controls=\"mega-menu-secondary_menu\">\n                  <span class=\"mega-toggle-animated-box\">\n                    <span class=\"mega-toggle-animated-inner\"><\/span>\n                  <\/span>\n                <\/button><\/div><\/div><\/div><ul id=\"mega-menu-secondary_menu\" class=\"mega-menu max-mega-menu mega-menu-horizontal mega-no-js\" data-event=\"hover\" data-effect=\"fade_up\" data-effect-speed=\"400\" data-effect-mobile=\"slide\" data-effect-speed-mobile=\"400\" data-mobile-force-width=\"false\" data-second-click=\"go\" data-document-click=\"collapse\" data-vertical-behaviour=\"standard\" data-breakpoint=\"768\" data-unbind=\"true\" data-mobile-state=\"collapse_all\" data-mobile-direction=\"vertical\" data-hover-intent-timeout=\"300\" data-hover-intent-interval=\"100\"><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-align-bottom-left mega-menu-flyout mega-menu-item-4547\" id=\"mega-menu-item-4547\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/porftolio-v2\/\">Portfolio<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-home mega-align-bottom-left mega-menu-flyout mega-menu-item-3974\" id=\"mega-menu-item-3974\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/\">Homepage<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-align-bottom-left mega-menu-flyout mega-menu-item-3975\" id=\"mega-menu-item-3975\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/about\/\">About me<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-menu-megamenu mega-menu-grid mega-align-bottom-left mega-menu-grid mega-menu-item-4304\" id=\"mega-menu-item-4304\"><a class=\"mega-menu-link\" href=\"#\" aria-expanded=\"false\" aria-controls=\"mega-sub-menu-4304\">Articles<span class=\"mega-indicator\" aria-hidden=\"true\"><\/span><\/a>\n<ul class=\"mega-sub-menu\" role='presentation' id='mega-sub-menu-4304'>\n<li class=\"mega-menu-row\" id=\"mega-menu-4304-0\">\n\t<ul class=\"mega-sub-menu\" style='--columns:2' role='presentation'>\n<li class=\"mega-menu-column mega-menu-columns-3-of-2\" style=\"--columns:2; --span:3\" id=\"mega-menu-4304-0-0\">\n\t\t<ul class=\"mega-sub-menu\">\n<li class=\"mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-disable-link mega-menu-item-4306\" id=\"mega-menu-item-4306\"><a class=\"mega-menu-link\" tabindex=\"0\">Design patterns<span class=\"mega-indicator\" aria-hidden=\"true\"><\/span><\/a>\n\t\t\t<ul class=\"mega-sub-menu\" id='mega-sub-menu-4306'>\n<li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4314\" id=\"mega-menu-item-4314\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/elementor-4099\/\">Strategy<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4313\" id=\"mega-menu-item-4313\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/budowniczy\/\">Builder<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4312\" id=\"mega-menu-item-4312\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/fabryka\/\">Factory<\/a><\/li>\t\t\t<\/ul>\n<\/li><li class=\"mega-menu-item mega-menu-item-type-custom mega-menu-item-object-custom mega-menu-item-has-children mega-disable-link mega-menu-item-4305\" id=\"mega-menu-item-4305\"><a class=\"mega-menu-link\" tabindex=\"0\">SOLID<span class=\"mega-indicator\" aria-hidden=\"true\"><\/span><\/a>\n\t\t\t<ul class=\"mega-sub-menu\" id='mega-sub-menu-4305'>\n<li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4311\" id=\"mega-menu-item-4311\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/elementor-4232\/\">Single responsibility<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4310\" id=\"mega-menu-item-4310\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/elementor-4246\/\">Open-Closed Principle<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4309\" id=\"mega-menu-item-4309\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/liskov-substitution-principle\/\">Liskov Substitution Principle<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4308\" id=\"mega-menu-item-4308\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/elementor-4278\/\">Interface Segregation Principle<\/a><\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-menu-item-4307\" id=\"mega-menu-item-4307\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/elementor-4292\/\">Dependency Inversion Principle<\/a><\/li>\t\t\t<\/ul>\n<\/li>\t\t<\/ul>\n<\/li>\t<\/ul>\n<\/li><\/ul>\n<\/li><li class=\"mega-menu-item mega-menu-item-type-post_type mega-menu-item-object-page mega-align-bottom-left mega-menu-flyout mega-menu-item-3976\" id=\"mega-menu-item-3976\"><a class=\"mega-menu-link\" href=\"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/contact\/\">Contact<\/a><\/li><\/ul><\/div><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bde83fe e-flex e-con-boxed e-con e-parent\" data-id=\"bde83fe\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-71728a9 elementor-widget elementor-widget-heading\" data-id=\"71728a9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Strategy (Strategia)<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c525d32 e-flex e-con-boxed e-con e-parent\" data-id=\"c525d32\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b2e4534 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"b2e4534\" data-element_type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9f371f4 e-flex e-con-boxed e-con e-parent\" data-id=\"9f371f4\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3fc4f17 elementor-widget elementor-widget-text-editor\" data-id=\"3fc4f17\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"221\" data-end=\"404\">Wyobra\u017amy sobie gr\u0119 komputerow\u0105, w kt\u00f3rej posta\u0107 mo\u017ce porusza\u0107 si\u0119 na trzy r\u00f3\u017cne sposoby: chodz\u0105c, p\u0142ywaj\u0105c i lataj\u0105c. Ka\u017cdy z tych sposob\u00f3w wymaga innej logiki i zachowania w grze.<\/p><p data-start=\"406\" data-end=\"713\">Najprostszym podej\u015bciem by\u0142oby napisanie jednej klasy, kt\u00f3ra obs\u0142uguje wszystkie mo\u017cliwe rodzaje ruchu za pomoc\u0105 instrukcji warunkowych (<code data-start=\"543\" data-end=\"547\">if<\/code> lub <code data-start=\"552\" data-end=\"560\">switch<\/code>). Takie rozwi\u0105zanie dzia\u0142a, ale ma swoje wady \u2013 ka\u017cda zmiana sposobu poruszania wymaga modyfikacji klasy, a kod szybko staje si\u0119 trudny do utrzymania.<\/p><p data-start=\"715\" data-end=\"842\">Poni\u017cej przedstawiam przyk\u0142ad kodu <strong data-start=\"751\" data-end=\"795\">bez u\u017cycia wzorca projektowego Strategia<\/strong>, aby pokaza\u0107 typowe problemy tego podej\u015bcia.<\/p><p data-start=\"715\" data-end=\"842\">Tutaj mamy klas\u0119 Character:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1014050 e-flex e-con-boxed e-con e-parent\" data-id=\"1014050\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5fb96b7 elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"5fb96b7\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage motion;\r\n\r\npublic class Character {\r\n    private String moveType;\r\n\r\n    public Character(String moveType) {\r\n        this.moveType = moveType;\r\n    }\r\n\r\n    public void makeAMove() {\r\n        switch (moveType) {\r\n            case &quot;walking&quot;:\r\n                System.out.println(&quot;Character walks on the ground.&quot;);\r\n                break;\r\n            case &quot;flying&quot;:\r\n                System.out.println(&quot;Character flies in the air.&quot;);\r\n                break;\r\n            case &quot;swimming&quot;:\r\n                System.out.println(&quot;Character swims in water.&quot;);\r\n                break;\r\n            default:\r\n                System.out.println(&quot;Unknown move type!&quot;);\r\n        }\r\n    }\r\n\r\n    public void setMoveType(String moveType) {\r\n        this.moveType = moveType;\r\n    }\r\n}\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec1d69f elementor-widget elementor-widget-text-editor\" data-id=\"ec1d69f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Wywo\u0142anie w klasie g\u0142\u00f3wnej:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5cf4c0 elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"f5cf4c0\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nimport motion.Character;\r\n\r\npublic class Demo {\r\n    public static void main(String&#x5B;] args) {\r\n        Character character = new Character(&quot;walking&quot;);\r\n        character.makeAMove();\r\n\r\n        character.setMoveType(&quot;flying&quot;);\r\n        character.makeAMove();\r\n\r\n        character.setMoveType(&quot;swimming&quot;);\r\n        character.makeAMove();\r\n    }\r\n}\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-50bfbcf elementor-widget elementor-widget-text-editor\" data-id=\"50bfbcf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"120\" data-end=\"318\">W tej wersji gry pokazujemy, jak posta\u0107 mo\u017ce porusza\u0107 si\u0119 w r\u00f3\u017cny spos\u00f3b: chodzi\u0107, lata\u0107 lub p\u0142ywa\u0107. Zamiast u\u017cywa\u0107 wielu instrukcji warunkowych w jednej klasie, zastosuj\u0119 <strong data-start=\"294\" data-end=\"315\">wzorzec Strategia<\/strong>.<\/p><p data-start=\"320\" data-end=\"425\">Strategia pozwala oddzieli\u0107 <strong data-start=\"348\" data-end=\"380\">r\u00f3\u017cne sposoby poruszania si\u0119<\/strong> od samej postaci. Dzi\u0119ki temu \u0142atwo mo\u017cna:<\/p><ul data-start=\"426\" data-end=\"535\"><li data-start=\"426\" data-end=\"455\"><p data-start=\"428\" data-end=\"455\">doda\u0107 nowe rodzaje ruchu,<\/p><\/li><li data-start=\"456\" data-end=\"488\"><p data-start=\"458\" data-end=\"488\">zmienia\u0107 ruch w trakcie gry,<\/p><\/li><li data-start=\"489\" data-end=\"535\"><p data-start=\"491\" data-end=\"535\">utrzyma\u0107 kod w czysto\u015bci i przejrzysto\u015bci.<\/p><\/li><\/ul><p data-start=\"537\" data-end=\"608\">Poni\u017cej znajduje si\u0119 przyk\u0142ad implementacji wzorca Strategia w Javie:<\/p><p data-start=\"537\" data-end=\"608\">Na pocz\u0105tek &#8211; w paczce strategy.move_strategy implementuj\u0119 interfejs MoveBehavior, kt\u00f3ry definiuje odpoweidnie dzia\u0142anie:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b427ef0 elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"b427ef0\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage strategy.move_strategy;\r\n\r\npublic interface MoveBehavior {\r\n    public void move();\r\n}\r\n\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b784ad3 elementor-widget elementor-widget-text-editor\" data-id=\"b784ad3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Nast\u0119pnie, implementuj\u0119 klasy ruchu.<\/p><p>Klasa Walking:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-67017a5 elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"67017a5\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage strategy.move_strategy;\r\n\r\npublic class Walking implements MoveBehavior{\r\n    public void move() {\r\n        System.out.println(&quot;Character walks on the ground.&quot;);\r\n    }\r\n}\r\n\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b53a048 e-flex e-con-boxed e-con e-parent\" data-id=\"b53a048\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f83589 elementor-widget elementor-widget-text-editor\" data-id=\"7f83589\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Klasa Flying:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3fef81d elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"3fef81d\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage strategy.move_strategy;\r\n\r\npublic class Flying implements MoveBehavior{\r\n    public void move() {\r\n        System.out.println(&quot;Character flies in the air.&quot;);\r\n    }\r\n}\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ea6e3cf e-flex e-con-boxed e-con e-parent\" data-id=\"ea6e3cf\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47a73a6 elementor-widget elementor-widget-text-editor\" data-id=\"47a73a6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Klasa Swimming:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-81bbc7b elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"81bbc7b\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage strategy.move_strategy;\r\n\r\npublic class Swimming implements MoveBehavior{\r\n    public void move() {\r\n        System.out.println(&quot;Character swims in the water.&quot;);\r\n    }\r\n}\r\n\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7745230 e-flex e-con-boxed e-con e-parent\" data-id=\"7745230\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ad993a9 elementor-widget elementor-widget-text-editor\" data-id=\"ad993a9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Klasa g\u0142\u00f3wna:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d59bb9 elementor-widget elementor-widget-wp-widget-custom_html\" data-id=\"2d59bb9\" data-element_type=\"widget\" data-widget_type=\"wp-widget-custom_html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"textwidget custom-html-widget\"><pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\nimport context.Character;\r\nimport strategy.move_strategy.Flying;\r\nimport strategy.move_strategy.Swimming;\r\nimport strategy.move_strategy.Walking;\r\n\r\npublic class Demo {\r\n    public static void main(String&#x5B;] args){\r\n        Character character = new Character();\r\n\r\n        character.setMoveBehavior(new Walking());\r\n        character.makeAMove();\r\n\r\n        character.setMoveBehavior(new Flying());\r\n        character.makeAMove();\r\n\r\n        character.setMoveBehavior(new Swimming());\r\n        character.makeAMove();\r\n    }\r\n}\r\n<\/pre><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\n    <div class=\"xs_social_share_widget xs_share_url after_content \t\tmain_content  wslu-style-1 wslu-share-box-shaped wslu-fill-colored wslu-none wslu-share-horizontal wslu-theme-font-no wslu-main_content\">\n\n\t\t\n        <ul>\n\t\t\t        <\/ul>\n    <\/div>","protected":false},"excerpt":{"rendered":"<p>natalia.kaczynska.programista@gmail.com Strategy (Strategia) Wyobra\u017amy sobie gr\u0119 komputerow\u0105, w kt\u00f3rej posta\u0107 mo\u017ce porusza\u0107 si\u0119 na trzy r\u00f3\u017cne sposoby: chodz\u0105c, p\u0142ywaj\u0105c i [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"postBodyCss":"","postBodyMargin":[],"postBodyPadding":[],"postBodyBackground":{"backgroundType":"classic","gradient":""},"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-4099","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/pages\/4099","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/comments?post=4099"}],"version-history":[{"count":11,"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/pages\/4099\/revisions"}],"predecessor-version":[{"id":4881,"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/pages\/4099\/revisions\/4881"}],"wp:attachment":[{"href":"https:\/\/natalia-kaczynska.profesjonalnyprogramista.pl\/en\/wp-json\/wp\/v2\/media?parent=4099"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}