{"id":6794,"date":"2023-12-17T15:32:22","date_gmt":"2023-12-17T14:32:22","guid":{"rendered":"http:\/\/wmii.uwm.edu.pl\/~piojas\/?p=6794"},"modified":"2023-12-17T15:32:22","modified_gmt":"2023-12-17T14:32:22","slug":"przykladowy-schemat-klas","status":"publish","type":"post","link":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/2023\/12\/17\/przykladowy-schemat-klas\/","title":{"rendered":"Przyk\u0142adowy schemat klas"},"content":{"rendered":"\n<p>Na podstawie wymaga\u0144 funkcjonalnych i niefunkcjonalnych dla aplikacji konsolowej symuluj\u0105cej dzia\u0142anie kasy fiskalnej, mo\u017cna zaprojektowa\u0107 nast\u0119puj\u0105cy uk\u0142ad klas, rekord\u00f3w i interfejs\u00f3w:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Interfejs <code>ITransaction<\/code><\/h3>\n\n\n\n<p>Reprezentuje pojedyncz\u0105 transakcj\u0119. Mo\u017ce zawiera\u0107 metody takie jak <code>startTransaction()<\/code>, <code>addItem(Item item)<\/code>, <code>finalizeTransaction()<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Klasa <code>Item<\/code><\/h3>\n\n\n\n<p>Reprezentuje pojedynczy produkt lub us\u0142ug\u0119. Zawiera pola takie jak:<\/p>\n\n\n\n<ul>\n<li><code>String name<\/code> &#8211; nazwa produktu\/us\u0142ugi.<\/li>\n\n\n\n<li><code>double price<\/code> &#8211; cena produktu\/us\u0142ugi.<\/li>\n\n\n\n<li><code>String category<\/code> &#8211; kategoria produktu\/us\u0142ugi.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">3. Klasa <code>Receipt<\/code><\/h3>\n\n\n\n<p>Reprezentuje paragon\/faktur\u0119. Zawiera:<\/p>\n\n\n\n<ul>\n<li><code>List&lt;Item&gt; items<\/code> &#8211; lista produkt\u00f3w\/us\u0142ug na paragonie.<\/li>\n\n\n\n<li><code>double totalPrice<\/code> &#8211; \u0142\u0105czna warto\u015b\u0107 paragonu.<\/li>\n\n\n\n<li><code>DateTime date<\/code> &#8211; data i czas transakcji.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4. Interfejs <code>IPayment<\/code><\/h3>\n\n\n\n<p>Reprezentuje p\u0142atno\u015b\u0107. Mo\u017ce zawiera\u0107 metody takie jak <code>processPayment(double amount)<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Klasa <code>CashPayment<\/code> implementuj\u0105ca <code>IPayment<\/code><\/h3>\n\n\n\n<p>Reprezentuje p\u0142atno\u015b\u0107 got\u00f3wk\u0105. Zawiera implementacj\u0119 metody <code>processPayment<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Klasa <code>CardPayment<\/code> implementuj\u0105ca <code>IPayment<\/code><\/h3>\n\n\n\n<p>Reprezentuje p\u0142atno\u015b\u0107 kart\u0105. Zawiera implementacj\u0119 metody <code>processPayment<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">7. Klasa <code>Transaction<\/code> implementuj\u0105ca <code>ITransaction<\/code><\/h3>\n\n\n\n<p>Reprezentuje realizacj\u0119 transakcji. Zawiera:<\/p>\n\n\n\n<ul>\n<li><code>Receipt receipt<\/code> &#8211; paragon\/faktura.<\/li>\n\n\n\n<li><code>IPayment paymentMethod<\/code> &#8211; metoda p\u0142atno\u015bci.<\/li>\n\n\n\n<li>Metody z interfejsu <code>ITransaction<\/code>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">8. Klasa <code>CashRegister<\/code><\/h3>\n\n\n\n<p>G\u0142\u00f3wna klasa symuluj\u0105ca kas\u0119 fiskaln\u0105. Zawiera:<\/p>\n\n\n\n<ul>\n<li><code>List&lt;Transaction&gt; transactions<\/code> &#8211; historia transakcji.<\/li>\n\n\n\n<li>Metody do zarz\u0105dzania transakcjami i p\u0142atno\u015bciami.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">9. Interfejs <code>IUserInterface<\/code><\/h3>\n\n\n\n<p>Reprezentuje interfejs u\u017cytkownika. Mo\u017ce zawiera\u0107 metody do wy\u015bwietlania menu, przyjmowania wej\u015b\u0107 od u\u017cytkownika itp.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">10. Klasa <code>ConsoleInterface<\/code> implementuj\u0105ca <code>IUserInterface<\/code><\/h3>\n\n\n\n<p>Reprezentuje konsolowy interfejs u\u017cytkownika. Zawiera implementacj\u0119 metod z <code>IUserInterface<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Zale\u017cno\u015bci i przep\u0142yw danych:<\/h3>\n\n\n\n<ul>\n<li><code>CashRegister<\/code> tworzy i zarz\u0105dza <code>Transaction<\/code>.<\/li>\n\n\n\n<li><code>Transaction<\/code> u\u017cywa <code>Item<\/code>, <code>Receipt<\/code> i implementacji <code>IPayment<\/code>.<\/li>\n\n\n\n<li><code>CashRegister<\/code> komunikuje si\u0119 z u\u017cytkownikiem przez <code>ConsoleInterface<\/code>.<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Na podstawie wymaga\u0144 funkcjonalnych i niefunkcjonalnych dla aplikacji konsolowej symuluj\u0105cej dzia\u0142anie kasy fiskalnej, mo\u017cna zaprojektowa\u0107 nast\u0119puj\u0105cy uk\u0142ad klas, rekord\u00f3w i interfejs\u00f3w: 1. Interfejs ITransaction Reprezentuje pojedyncz\u0105 transakcj\u0119. Mo\u017ce zawiera\u0107 metody takie jak startTransaction(), addItem(Item item), finalizeTransaction(). 2. Klasa Item Reprezentuje pojedynczy produkt lub us\u0142ug\u0119. Zawiera pola takie jak: 3. Klasa Receipt Reprezentuje paragon\/faktur\u0119. Zawiera: 4. &hellip; <a href=\"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/2023\/12\/17\/przykladowy-schemat-klas\/\" class=\"more-link\">Czytaj dalej <span class=\"screen-reader-text\">Przyk\u0142adowy schemat klas<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106],"tags":[],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p9qw79-1LA","_links":{"self":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/posts\/6794"}],"collection":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/comments?post=6794"}],"version-history":[{"count":1,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/posts\/6794\/revisions"}],"predecessor-version":[{"id":6795,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/posts\/6794\/revisions\/6795"}],"wp:attachment":[{"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/media?parent=6794"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/categories?post=6794"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/wmii.uwm.edu.pl\/~piojas\/index.php\/wp-json\/wp\/v2\/tags?post=6794"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}