InMoST, 2007-04-26 Java – przykładowa aplikacja Bartosz.Michalik

Slides:



Advertisements
Podobne prezentacje
Wstęp do strumieni danych
Advertisements

Mgr inż.Marcin Borkowski Podstawy Java Część II
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Dzisiejszy wykład Wyjątki.
Programowanie obiektowe
Programowanie obiektowe PO PO - LAB 3 Wojciech Pieprzyca.
Bezpieczeństwo wyjątków w C++: OpenGL
Sposoby implementacji asocjacji
Nguyen Hung Son Uniwersytet Warszawski
OOPC++ - wstêp, klasy1 Klasy Do struktury można dołączyć operacje działające na jej polach. struct date { int day, month, year; void set (int d, int m,
Licznik template<class Count_Type> class Count { public:
Model – View - Controler
K.Subieta. SSR, Wykład 4, Folia 1 marzec 2009 Standardy w zakresie systemów rozproszonych i baz danych Kazimierz Subieta Polsko-Japońska Wyższa Szkoła.
Bartosz Walter Inżynieria oprogramowania Lecture XXX JavaTM – część II Bartosz Walter
Hibernate Klasy trwałe
Odwzorowania relacyjno-obiektowe Hibernate Tranzakcyjność i bezpieczeństwo danych.
Obiektowe metody projektowania systemów Command Pattern.
Gniazda komunikacji sieciowej w języku Java
Czytanie, pisanie i rysowanie – cd.. Jeszcze jeden strumyk PrintStream działa jak PrintWriter, ale: Używa domyślnego (systemowego) kodowania Nie wyrzuca.
142 JAVA – sterowanie i wątki public class A20 extends javax.swing.JApplet implements ActionListener { private int licznik = 0; private JTextField t =
Odwzorowania relacyjno-obiektowe Hibernate Klasy trwałe.
Projektowanie warstwy serwera DisplayTag. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Hibernate relacje.
Projektowanie warstwy serwera Znaczniki jsp. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Odwzorowania relacyjno-obiektowe Hibernate Tranzakcyjność i bezpieczeństwo danych.
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Test Doubles Adam Gabryś , v1.1,
Podstawy C# Grupa .NET PO.
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
Programowanie urządzeń mobilnych – wykład IV
Transakcje zarządzane kontenerem
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Podstawy inżynierii oprogramowania Zofia Kruczkiewicz
PIO 3_2, Zofia Kruczkiewicz1 Wykład 3 – część druga Iteracyjno-rozwojowy cykl oprogramowania 3.
W większości języków programowania biblioteki wejścia/wyjścia ukrywają szczegóły obsługi poszczególnych mediów pod abstrakcją strumienia (ang. stream).
Programowanie obiektowe w C++
Tworzenie aplikacji mobilnych
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Seminarium problemowe
PIO 2_2, Zofia Kruczkiewicz1 Wykład 2 – część druga Iteracyjno-rozwojowy cykl oprogramowania 2.
C# Platforma .NET CZ.3 Kuba Ostrowski.
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 8.
Podstawy informatyki 2013/2014 Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi.
1 Strumienie Hierarchie klas strumieniowych, strumienie bajtowe - klasy InputStream i OutputStream i ich metody, klasa File, strumienie plikowe, strumienie.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
OCPJP Inner classes.
Dobry kod OO Jeżeli zapytamy statystycznego programistę z czym kojarzy mu się dobry kod OO to najprawdopodobniej będzie mówił o wzorcach projektowych.
Responsywne aplikacje w Windows 8 i.NET 4.5 Jakub Binkowski.
Informatyka Stosowana – ROK II / III
PROGRAMOWANIE W JAVA Informatyka Stosowana – ROK II / III Laboratoria mgr inż. Krzysztof Bzowski.
Wprowadzenie do programowania w języku C++ Rozdział I Modelowanie obiektowe Witold Bartkiewicz.
PO13-1 / 19 Wykład 13 Wyjątki i ich zgłaszanie Wyłapywanie wyjątków Obsługa wyjątków Wykorzystanie polimorfizmu Filtrowanie wyjątków Błędy w konstruktorach.
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Kolekcje (3) Zbiory. Porównywanie i porządkowanie elementów kolekcji. (c) Krzysztof Barteczko 2014.
do programowania obiektowego w języku Groovy
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
Strumienie w języku Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin realizacji:
Android WYKŁAD 4. Agenda Bazy danych – SQLite Zestawienie mapowania w LiteORM Wyświetlanie danych w ListView Pobieranie danych z sieci – Volley Zapytania.
Programowanie Obiektowe – Wykład 6
Dzisiejsze zajęcia będą wyjątkowe…
Wątki, programowanie współbieżne
Programowanie Obiektowe – Wykład 2
Klasy wewnętrzne. Praktyka użycia interfejsów i klas wewnętrznych
Iteracyjno-rozwojowy cykl oprogramowania 3
Tworzenie wątków w Javie
Zapis prezentacji:

InMoST, Java – przykładowa aplikacja Bartosz.Michalik

Java (2) Agenda Wstępny szkic Podejścia Bonusy ;)

Java (3) Dokąd zmierzamy ?

Java (4) Pierwsze kroki Bank Konto Bank może zawierać konta

Java (5) Zakodujmy to Prosta klasa banku public class Bank { private String name; private Set accounts; public Bank(...) {... } public Collection getAccounts() { return....; }

Java (6) Zakodujmy to Klasa konta bankowego public class Account { private double balance; private int id; private String ownerName; private String ownerSurname; private Date creationTime; public void deposit(double amount) { balance ?? } public void withdraw(double amount) { balance ?? }

Java (7) Jak tego użyć ? Bank bank = new Bank("ulubiony"); Account account1 = new Account("Jan", "Kowalski"); Account account2 = new Account("Adaś", "Miałczyński"); account1.deposit(2000); account1.withdraw(1000); account1.deposit(-500); account2.deposit(1000); account2.withdraw(2000); account2.deposit(-500); System.out.println("zawartość: " + account1.getBalance()); System.out.println("zawartość: " + account2.getBalance());

Java (8) Dyskusja Czy czegoś tutaj nie brakuje ? –Czy operacje przelania pieniędzy są bezpieczne? –Konto bez banku ?

Java (9) Modyfikacja Konto może być używane tylko jeżeli jest częścią jakiegoś banku Operacje wpłaty i wypłaty nie powinny być wykonywane dla wartości mniejszych od zera

Java (10) Punkt kontrolny Konto public void deposit(double amount) throws BankException { checkInBank(); if(amount < 0) throw new BankException("ilość mniejsza od zera"); balance += amount; } public void withdraw(double amount) throws BankException { checkInBank(); if(amount < 0) throw new BankException("ilość mniejsza od zera"); if(balance < amount) throw new BankException("nie ma śro dków na koncie"); balance -= amount; }

Java (11) Nowe wyzwanie Możliwość cofania operacji na koncie Logowanie operacji bankowych

Java (12) Budujemy dalej ?? W jaki sposób umożliwić bezpieczne transakcje pomiędzy bankami ??

Java (13) Ostatnie pociągnięcia

Java (14) Nowa klasa Transaction public class Transaction { private Account out; private Account in; private double amount;... public Transaction(Account in, Account out, double amount) { ??? } public boolean execute() {... executed = exec(in, out); return executed; } public boolean rollback() {... return exec(out, in); } private boolean exec(Account f, Account s) { if(f == s) return false; try { f.withdraw(amount); } catch (BankException e) { return false; } try { s.deposit(amount); } catch (BankException e) { f.rollbackLastOperation(); return false; } return true; }

Java (15) Bonus Znajdź konta o największej aktywności Znajdź konta o największych wypłatach w ciągu ostatnich N operacji Stwórz klasę klienta banku Zapisywanie do pliku