Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

Podobne dokumenty
Technologie i usługi internetowe cz. 2

Podstawy Języka Java

Programowanie komputerowe. Zajęcia 7

Podstawy programowania obiektowego

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Programowanie - instrukcje sterujące

Podstawy Programowania Podstawowa składnia języka C++

Podstawy i języki programowania

Do czego służą klasy?

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie 2. Język C++. Wykład 3.

Rozdział 4 KLASY, OBIEKTY, METODY

Programowanie obiektowe

Podstawy i języki programowania

Programowanie 3 - Funkcje, pliki i klasy

Metody Metody, parametry, zwracanie wartości

Klasy i obiekty. Programowanie zorientowane obiektowo. Case study: Filmoteka Case study: Klasa Akademik

Przypomnienie o klasach i obiektach

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

KLASY cz.1. Dorota Pylak

Aplikacje w środowisku Java

Programowanie obiektowe. Dr hab. Inż. Marta Gładysiewicz-Kudrawiec Pokój 229 A1 Operatory new delete pliki-odczyt

Programowanie obiektowe

Wprowadzanie danych z klawiatury. Wyjątki związane z wprowadzaniem danych, przekroczeniem rozmiaru tablicy, dzieleniem przez zero itd.

Klasy: String, Random, Math. Korzystanie z dokumentacji.

Programowanie obiektowe

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Programowanie Obiektowe Ćwiczenie 4

Laboratorium 1 - Programowanie proceduralne i obiektowe

Programowanie obiektowe

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Zajęcia nr 5 Algorytmy i wskaźniki. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Programowanie obiektowe - zadania

Programowanie w C++ Wykład 9. Katarzyna Grzelak. 14 maja K.Grzelak (Wykład 9) Programowanie w C++ 1 / 30

Podstawy Programowania Obiektowego

Do czego służą klasy?

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Wykład 8: klasy cz. 4

Mechanizm dziedziczenia

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Lab 9 Podstawy Programowania

Programowanie w C++ Wykład 8. Katarzyna Grzelak. 15 kwietnia K.Grzelak (Wykład 8) Programowanie w C++ 1 / 33

Podstawy programowania w języku C++ Zadania

Programowanie komputerowe. Zajęcia 1

Wyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Lista dwukierunkowa - przykład implementacji destruktorów

Wykład 5: Klasy cz. 3

Podstawy JavaScript ćwiczenia

Programowanie obiektowe

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Programowanie obiektowe

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Zadania z podstaw programowania obiektowego

Programowanie obiektowe

Wyliczanie wyrażenia obiekty tymczasowe

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Kilka prostych programów

Wykład 2 Składnia języka C# (cz. 1)

Podstawy tworzenia aplikacji z wykorzystaniem języka Java ME ćwiczenia 1

Podstawy i języki programowania

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

lekcja 8a Gry komputerowe MasterMind

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

Laboratorium nr 4: Arytmetyka liczb zespolonych

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Aplikacje w środowisku Java

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

11.6 Klasa do obsługi liczb wymiernych

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Strumienie, pliki. Sortowanie. Wyjątki.

Czym są właściwości. Poprawne projektowanie klas

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Programowanie obiektowe

Programowanie w C++ Wykład 6. Katarzyna Grzelak. kwiecień K.Grzelak (Wykład 6) Programowanie w C++ 1 / 40

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Dziedziczenie. dr Jarosław Skaruz

Java: otwórz okienko. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Ćwiczenie 1. Przygotowanie środowiska JAVA

Programowanie w C++ Wykład 11. Katarzyna Grzelak. 13 maja K.Grzelak (Wykład 11) Programowanie w C++ 1 / 30

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

PARADYGMATY PROGRAMOWANIA Wykład 3

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Enkapsulacja, dziedziczenie, polimorfizm

Programowanie obiektowe

1 Powtórzenie wiadomości

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Transkrypt:

Programowanie w Javie 1 Wykład i Ćwiczenia 2 Przegląd podstawowych klas w Javie (elementy programowania obiektowego) Płock, 16 października 2013 r.

Czym jest obiekt w programowaniu obiektowym? Programowanie obiektowe jak sama nazwa wskazuje posługuje się obiektami. Obiekty charakteryzują się: atrybutami (cechami, stanami, pola), operacjami, które można na nich wykonać (usługami, poleceniami, metodami). Na przykład jeśli obiektem jest samochód to atrybutami mogą być: ciężar, długość, aktualna prędkość jazdy. Natomiast, operacjami jakie można wykonywać na tym obiekcie mogą być: zatrzymaj się, ruszaj, skręć w prawo, zwiększ prędkość. 2

Czym jest klasa w programowaniu obiektowym? Informację o atrybutach danego obiektu oraz o operacjach które można na nim wykonać czerpiemy z definicji klasy odpowiadającej danemu obiektowi. Taką klasę samochodów nasz program musi albo skądś pobrać albo sam dostarczyć. Klasa - to zestaw atrybutów i operacji grupy podobnych obiektów, które są dla nich niezmienne. 3

Klasa Samochod w Javie public class Samochod { int ciezar; int dlugosc; int aktualnapredkoscjazdy; public int getciezar() { return ciezar; public void setciezar(int ciezar) { this.ciezar = ciezar; public int getdlugosc() { return dlugosc; public void setdlugosc(int dlugosc) { this.dlugosc = dlugosc; public int getaktualnapredkoscjazdy() { return aktualnapredkoscjazdy; public void setaktualnapredkoscjazdy(int aktualnapredkoscjazdy) { this.aktualnapredkoscjazdy = aktualnapredkoscjazdy; 4

Tworzenie nowej klasy w Javie, konstruktor new Samochod(); lub Samochod sm = new Samochod(); Stworzenie konstruktora klasy: public Samochod(int ciezarn, int dlugoscn, int aktualnapredkoscjazdyn) { ciezar = ciezarn; dlugosc = dlugoscn; aktualnapredkoscjazdy = aktualnapredkoscjazdyn; 5

Private i destruktory Pola w klasie powinny być prywatne aby dostęp do nich mógł być uzyskany tylko przez publiczne metody (wtedy nie można zbyt dużo manipulować na stanie obiektu). Prawidłowo zatem powinno być: private int ciezar; private int dlugosc; private int aktualnapredkoscjazdy; W Javie nie ma destruktorów. Jest za to mechanizm Garbage Collector. Ćwiczenie 1 Stwórz nowy projekt w NetBeans i klasę Samochod.java z polami i metodami opisanymi powyżej. Stwórz dwa obiekty tej klasy sam1 i sam2 i ustaw im początkowe wartości na dowolne liczby nieujemne (aktualna prędkość ma być liczbą z przedziału [0,100]). Następnie w klasie testującej napisz metodę która będzie o jeden zwiększała aktualną prędkość obu pojazdów chyba, aż prędkość któregoś z nich przekroczy 150. Wówczas metoda ma zwrócić wartość -1. 6

Czytanie z klawiatury (1) Klasa Scanner jest najprostszym sposobem wczytania tekstu z klawiatury w Javie. Ustawiamy Scanner na czytanie standardowego wejścia: Scanner input = new Scanner(System.in); Wczytujemy linię tekstu: String text = input.nextline(); Ćwiczenie 2 Napisz program w którym wczytujesz trzy parametry: par1, par2 i par3 (każdy do oddzielnej zmiennej) i wypisujesz na ekran: Witaj par1. Twoje nazwisko to par2. Za 10 lat skończysz (par4+10) lat. Obsłuż ewentualne błędy parsowania stringa na inta. 7

Czytanie z klawiatury (2) Ćwiczenie 3 Napisz program w którym wczytujesz linię tekstu (wyrazy oddzielone spacją) i przypisujesz każdemu wyrazowi parametr par1, par2 i par3. Wypisujemy teraz na ekran: Witaj par1. Twoje nazwisko to par2. Za 10 lat skończysz (par4+10) lat. Obsłuż ewentualne błędy parsowania stringa na inta. Zakładamy, że program działa poprawnie jeśli linia tekstu składa się dokładnie z trzech wyrazów oddzielonych spacją. W przeciwnym przypadku program ma zadziałać ale ma zgłosić odpowiedni komunikat błędu. Wsk. Skorzystaj z funkcji split() 8

Czytanie z klawiatury (3) Ćwiczenie 4 Napisz program, który czyta tekst linia po linii (zakładamy że w każdej linii jest jeden wyraz bez spacji) i wypisuje tylko pierwszą i ostatnią literę wczytanego wyrazu. Program kończy działanie tylko wtedy jeśli: 1) Wpiszemy wyraz koniec. 2) Wpiszemy wyraz koniec lub KONIEC. 3) Wpiszemy wyraz koniec bez względu na wielkość lier w nim występujących. Zmodyfikuj program aby pozbywał się na początku i końcu wczytywanego wyrazu spacji. Wsk. Skorzystaj z funkcji touppercase() i trim(). 9

Klasa JOptionPane Klasa JOptionPane pozwala w prosty sposób tworzyć i wykorzystywać okienka dialogowe w Javie. Przydatne metody tej klasy to: showinputdialog pozwala wczytać tekst z klawiatury showmessagedialog pozwala wypisać tekst na ekran Ćwiczenie 5 Przerób program z Ćwiczenia 2 za pomocą okienek dialogowych. 10

Klasa String Ćwiczenie 6 Napisz program w którym wczytujesz linię tekstu postaci: dd.mm.rrrr Z ewentualnymi spacjami na początku i końcu tekstu. 1. Sprawdź czy teksty: dd, mm i rrrr poprawnie konwertują się na liczby całkowite. 2. Sprawdź, czy wczytany tekst jest prawie poprawną datą: dzień, miesiąc i rok. Zakładamy na razie, że dd ma być liczbą ze zbioru {1,2,,30, mm ma być liczbą ze zbioru {1,2,,12 i rrrr ma być liczbą ze zbioru {1,2,3,.,2013. 3. Sprawdź,czy wczytany tekst jest poprawną datą: dzień, miesiąc i rok. Zakładamy na razie, że luty ma 28 dni. 4. Sprawdź, czy wczytany tekst jest poprawną datą: dzień, miesiąc i rok z uzwglednieniem roku przestępnego. 11

Praca domowa (na ocenę) Stwórz kalkulator dwuargumentowy obsługujący działania: +, -, *, /, \sqrt[n]{m i m^n pozwalający obliczać wynik działania: dodawanie, odejmowanie, mnożenie, dzielenie, pierwiastkowanie (dowolnego stopnia n), potęgowanie. 1. Skorzystaj z okienek dialogowych JOptionPane 2. Wykorzystaj konstrukcję switch i case 3. Obsłuż odpowiednie błędy 12