Java 3 MPDI Programowanie obiektowe W5. Java - obiektowy język programowania stworzony przez firmę Sun Microsystems. Java jest językiem tworzenia programów.

Slides:



Advertisements
Podobne prezentacje
Programowanie w Java.
Advertisements

Katarzyna Szafrańska kl. II ti
C++ wykład 2 ( ) Klasy i obiekty.
Mgr inż.Marcin Borkowski Podstawy Java Krótkie wprowadzenie dla studentów Wyższej Szkoły Ekologii i Zarządzania
Programowanie obiektowe
Programowanie obiektowe
Zmienne i Typy.
Klasy i obiekty.
Wzorce.
Static, const, volatile.
Dziedziczenie. Po co nam dziedziczenie? class osoba { char * imie, char * imie, * nazwisko; * nazwisko;public: void wypisz_imie(); void wypisz_imie();
Języki programowania C++
Programowanie obiektowe w Javie
Podstawy języka Java Nguyen Hung Son Uniwersytet Warszawski.
WPROWADZENIE DO JĘZYKA JAVA
Struktury.
C++ wykład 2 ( ) Klasy i obiekty.
Wykład 2 struktura programu elementy języka typy zmienne
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.
Java – programowanie obiektowe
dr Anna Kwiatkowska Instytut Informatyki
Tablice tablica jest sekwencją elementów tego samego typu (prostego lub obiektowego) w Javie tablice są obiektami, a zmienne tablicowe przechowują referencję
Wprowadzenie do programowania w języku Turbo Pascal
Podstawy C# Grupa .NET PO.
Podstawy programowania
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Informatyka I Wykład 10 WSKAŹNIKI I ADRESY Jerzy F. Kotowski.
JAVA – wstęp.
Programowanie strukturalne i obiektowe
Tworzenie aplikacji mobilnych
Instalacja i narzędzia. Beta-kod i maszyna wirtualna
Programowanie obiektowe III rok EiT
Programowanie Windows na przykładzie C# część 1
Java – wprowadzenie, typy danych, operatory
Programowanie obiektowe – zastosowanie języka Java SE
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.
Programowanie obiektowe III rok EiT
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
JAVA.
Programowanie obiektowe Wykład 3 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21 Dariusz Wardowski.
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Programowanie strukturalne i obiektowe
Maszyna wirtualna ang. virtual machine, VM.
  ELEMENTY JĘZYKA JAVA komentarze w Javie, słowa kluczowe i operatory, proste typy danych, tablice, podstawowy zestaw instrukcji.
Kurs języka C++ – wykład 3 ( )
Programowanie w języku C++
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Zmienne i typy danych w C#
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
Programowanie obiektowe Wykład 9 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/15 Dariusz Wardowski.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
P ASCAL Definicje, deklaracje, podstawowe instrukcje 1.
Podstawowe konstrukcje języka Java Bartosz Walter InMoST Wielkopolska sieć współpracy w zakresie innowacyjnych metod wytwarzania oprogramowania Termin.
Programowanie Obiektowe – Wykład 6
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Delegaty Delegat to obiekt „wiedzący”, jak wywołać metodę.
Programowanie Obiektowe – Wykład 2
Programowanie obiektowe – zastosowanie języka Java SE
Wprowadzenie do programowania obiektowego
Założenia projektowe Javy
Programowanie w Javie 1 Dr Robert Kowalczyk
Zapis prezentacji:

Java 3 MPDI Programowanie obiektowe W5

Java - obiektowy język programowania stworzony przez firmę Sun Microsystems. Java jest językiem tworzenia programów źródłowych kompilowanych do tzw. kodu bajtowego - czyli postaci wykonywanej przez maszynę wirtualną. Podstawowe koncepcje zostały przejęte z języka Smalltalk oraz z języka C++ (duża część składni i słów kluczowych).

Platforma Eclipse – początki IBM -elastyczna - może być dowolnie modyfikowane i rozszerzane przy pomocy wtyczek -darmowa -napisana w Javie -nie tylko Java – także C++, PHP, Python, JavaScript, Cobol -kontrolki graficzne SWT - podobne do Windows – pakiet Swing

Kod źródłowy programów Javy kompiluje się do kodu pośredniego. Powstały kod jest niezależny od systemu operacyjnego i procesora. Java virtual machine tłumaczy kod uniwersalny na kod dostosowany dla konkretnego SO i procesora. Wirtualna maszyna Javy jest już dostępna dla większości systemów operacyjnych i procesorów. WADA kod pośredni jest interpretowany - jest wolniejszy niż kompilowany do kodu maszynowego. można dodatkowy kompilator (JIT lub GCJ) i wówczas już nieprzenośny kod ale dla konkretnej maszyny. Niezależność od architektury

Instalacja Eclipse Platformę Eclipse można ściągnąć z: Aby prawidłowo działała należy zainstalować środowisko uruchomieniowe (maszyna wirtualna)- SUN lub Oracle: JRE – Java Runtime Evironment lub dające większe możliwości programistom JDK – Java Development Kit – daje możliwość m.in. tworzenia, kompilacji i uruchamiania aplikacji bezpośrednio w Windows. Eclipse (Helios) Następnie rozpakowujemy i kopiujemy pliki Eclipse – nie ma pliku instalacyjnego

kompilacja – javac uruchomienie - java plik.java (kod źródłowy) plik.class bez Eclipse z JDK (Java SDK)

Pierwszy program Uruchamiamy Eclipse, wybierając jako workspace (obszar roboczy) własny folder

Nowa klasa - typ obiektowy

klasy w ramach pakietu "widzą" się nawzajem Pakiety - ułatwiają organizację klas Package – pakiet klas Jedna z klas pakietu powinna mieć metodę main W tej metodzie definiujemy działanie aplikacji

każda metoda musi: deklarować, jakiego typu dane zwraca (lub void, jeśli nic nie zwraca). oznacza, że każda wprowadzana zmienna czy pole musi mieć: przypisany typ przechowywanych w niej danych Silne typowanie

package standard; public class Hello { public static void main(String[] args) { System.out.println("Witaj w świecie Javy"); } metoda main – wykonywana! tu zazwyczaj tworzymy nowe obiekty dla danej klasy (własnej lub zdefiniowanej) i zmuszamy je do działania! Klasa z metodą main Nazwa klasy taka sama jak nazwa pliku.java z definicją klasy

menu Run i wybieramy Run as > Java Application zielona ikona z białą strzałką Uruchomienie programu konsola (Console) – wyniki to co ustalimy w instrukcji System.out.println(……………);

Pola i metody dla klasy Pola mogą być typów prostych, ale jest wiele typów obiektowych zdefiniowanych w Javie – także wymagających poznania (i dołączenia odpowiednich bibliotek)

Podstawowe typy danych Typzawartość wartość domyślna rozmiarMin wartość Max wartość boolean logiczna (true lub false) false1 bit char znak (Unicode) u bit\u0000 \uFFFF byte całkowita ze znakiem 08 bit short całkowita ze znakiem 016 bit int całkowita ze znakiem 032 bit long całkowita ze znakiem 064 bit float zmiennoprzecinkowa bit+/ E+38 +/ E-45 double zmiennoprzecinkowa bit+/ E+308 +/ E-324

Operatory arytmetyczne + – / * % (reszta z dzielenia całkowitego) – zmiana znaku inkrementacja i dekrementacja (forma przedrostkowa i przyrostkowa) Operacje arytmetyczne

Operatory przypisania Operator = += – = *= /= %= np. x*=yoznacza x=x*y

Operatory relacyjne = = = równe !=różne Operatory logiczne ! negacja && logiczne AND || logiczne OR Składnia: zmienna=warunek ? wartość_jeśli_prawda :wartość_jeśli_fałsz ; Operator warunkowy ?

– styl "wielbłądzi" kapitalizowanie drugiego i następnych słów składowych jest nieobowiązkowy, ale dobra praktyka programowania w Javie DUŻE I MAŁE litery istotne mojPierwszyProgram

private int łódź; łódź=10; System.out.println(łódź/2); W nazwach zmiennych i metod można używać polskich liter – dzięki wbudowanemu kodowaniu Unicode

niepoprawny kod jest podkreślony na czerwono po lewej stronie na marginesie – ikonka podpowiedzi! Błędy okno z zakładką TASKS – po prawej

np. napisanie sysout i CTRL+spacja spowoduje: Pomoce Wszystkie w: Window > Preferences i wybrać Java > Editor > Templates System.out.println();

public class Klasa1 { public static void main(String[] args) { int suma,A,B,C; A=4;B=7;C=9; suma=A+B+C; System.out.println("Wynik dodawania: "+ suma); int reszta= C % A; System.out.println("Reszta z dzielenia 9/4: "+ reszta); double y;//deklaracja y=5.2;//przypisanie wartości double Zet=7.56;//deklaracja i przypisanie System.out.println("Dzielenie: "+ y/Zet); } Klasa z metodą main instrukcje i deklaracje można przeplatać UWAGA na średniki! ;

package standard; public class Kwadrat { // właściwości (atrybuty/pola) private float bok; private float pozycja; private int kolor; //lepiej obiekt java.awt.Color // operacje (metody) public float obliczPole() { return bok*bok; } public void wyświetl(){ System.out.println(obliczPole()); } Definicja klasy – nie ma metody main

Schemat definicji pól i metod definicja pola public|privatetypnazwa [ =wartość]; public|privatetyp|voidnazwa { co ma robić metoda return wyrażenie_typu_typ //jeśli nie void! } definicja metody | - alternatywnie [ ] - opcjonalnie public – dostępne w innej klasie pakietu private – niedostępne – tylko z wykorzystaniem metod! Przeważnie pola są prywatne, a metody publiczne, ale oczywiście może być inaczej

package standard; public class program { public static void main(String[] args) { Kwadrat p=new Kwadrat(); } Tworzymy instancję obiektu w klasie ale jakie parametry – wartości pól ma kwadrat? Nowa klasa z metodą main

można tak – tworzymy definicję metody: package standard; public class Kwadrat { // właściwości (atrybuty/pola) private float bok; private float pozycja; private int kolor; //lepiej obiekt java.awt.Color // operacje (metody) public void nadajBok(float a) { bok=a; } public float obliczPole() { return bok*bok; } public void wyświetl(){ System.out.println(obliczPole()); }

i teraz… package standard; class program { public static void main(String[] args) { Kwadrat p=new Kwadrat(); p.nadajBok(5); p.wyświetl(); }

package standard; public class Kwadrat { // właściwości (atrybuty/pola) private float bok; private float pozycja; private int kolor; //lepiej obiekt java.awt.Color // operacje (metody) public Kwadrat(float a) { //metoda KONSTRUKTORA!!!! bok=a; } public float obliczPole() { return bok*bok; } public void wyświetl(){ System.out.println(obliczPole()); } albo bardziej elegancko…

package standard; public class program { public static void main(String[] args) { Kwadrat k=new Kwadrat(5); k.wyświetl(); } i przy tworzeniu obiektu nadajemy wartość jako argument konstruktora

package standard; public class program { public static void main(String[] args) { Kwadrat k1=new Kwadrat (5); Kwadrat k2=new Kwadrat (7); k1.wyświetl(); k2.wyświetl(); } można utworzyć wiele obiektów.. instancji klasy

public class Kwadrat { private double bok; private float pozycja; private int kolor; //lepiej obiekt java.awt.Color public Kwadrat (double a) { bok=a; } public Kwadrat (int k) { kolor=k;} public float obliczPole() { return bok*bok; } public void wyświetl(){ System.out.println(obliczPole()); } może być wiele konstruktorów: ale muszą się różnić liczbą lub typem argumentów, bo maja te same nazwy

Dziedziczenie public class Figura { private float pozycja; private int kolor; //metody public float obliczPole() { return 0; } public void wyświetl(){ System.out.println(obliczPole()); }

public class Kwadrat extends Figura{ private float bok; //pozycja i kolor dziedziczone private int kolor; //lepiej obiekt java.awt.Color public Kwadrat (int a) { bok=a; // "przesłaniamy" operacje rodzica public float obliczPole() { return bok*bok; }

Projekt hierarchii klas dziedziczących powinien być sensowny Np. klasa Auto dziedziczy po klasie Pojazd klasa Student dziedziczy po klasie Człowiek itp. Klasa dziedzicząca domyślnie posiada wszystkie metody przodka i można w niej definiować nowe. Np. Człowiek ma nazwisko Student ma nazwisko i numer indeksu