JAVA W SUPER EXPRESOWEJ PIGUŁCE

Podobne dokumenty
Programowanie obiektowe

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

Polimorfizm. dr Jarosław Skaruz

Dokumentacja do API Javy.

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

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

Java Język programowania

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

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

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Enkapsulacja, dziedziczenie, polimorfizm

Programowanie w Internecie. Java

Programowanie obiektowe

dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy

Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016

Wykład 7: Pakiety i Interfejsy

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

1 Atrybuty i metody klasowe

Programowanie obiektowe

Klasy abstrakcyjne, interfejsy i polimorfizm

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Programowanie obiektowe

Java: interfejsy i klasy wewnętrzne

Dziedziczenie. Tomasz Borzyszkowski

Wprowadzenie do języka Java

Platformy Programistyczne Podstawy języka Java

Podstawy Języka Java

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Przypomnienie o klasach i obiektach

Definicje klas i obiektów. Tomasz Borzyszkowski

Podstawowe części projektu w Javie

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Wykład 5: Więcej o Klasach i Metodach

Wykład 4: Klasy i Metody

Definiowanie własnych klas

Typy sparametryzowane

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Akademia ETI. Wprowadzenie do programowania w Javie PG Java User Group Przemysław Kulesza

Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13

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

Programowanie obiektowe

Języki Programowania II Wykład 3. Java podstawy. Przypomnienie

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki

KLASY, INTERFEJSY, ITP

Kurs WWW. Paweł Rajba.

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

KOTLIN. Język programowania dla Androida


Java. Wykład. Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ

Dziedziczenie. dr Jarosław Skaruz

Programowanie obiektowe

Podejście obiektowe. Tablice obiektów Przykład 1 metody i atrybuty statyczne oraz niestatyczne

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wykład 6: Dziedziczenie

Technologie i usługi internetowe cz. 2

Podstawy programowania III

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

Podstawy i języki programowania

Aplikacje w środowisku Java

Programowanie obiektowe

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

Programowanie obiektowe i zdarzeniowe

Klasy abstrakcyjne i interfejsy

Podstawy otwartych języków programowania Przechowywanie danych

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Programowanie obiektowe

Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

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

Diagramy klas. dr Jarosław Skaruz

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

Programowanie obiektowe

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

Programowanie obiektowe i język Java

Języki i metody programowania Java. Wykład 2 (część 2)

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

Pakiety i interfejsy. Tomasz Borzyszkowski

Wykład 2: Podstawy Języka

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

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Programowanie obiektowe

Multimedia JAVA. Historia

Programowanie i projektowanie obiektowe

Programowanie obiektowe

2. Składnia, środowisko i konwencje w Javie

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy

wykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp

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

Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019

Programowanie obiektowe

Współbieżność w środowisku Java

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Podstawy programowania obiektowego

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Transkrypt:

JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie informacje przekazywane do obiektu to komunikaty. Komunikat można traktować również jako parametr wywołania wybranej metody. Klasa Klasa to prototyp obiektu. Podobnie jak zmienne są określonych typów tak obiekty są instancjami klas. Klasę można traktować jako swego rodzaju szablon obiektu/ów. Niektóre klasy są klasami abstrakcyjnymi, to jest takimi, które nie posiadają instancji, mają natomiast zastosowanie w dziedziczeniu klas. Klasy od nich pochodne mogą już posiadać instancje. W Javie klasa jest abstrakcyjna jeśli którakolwiek z jej metod nie ma implementacji. Definiowanie klasy public private abstract final extends Super implements Interfaces - klasa widoczna na zewnątrz. Tylko jedna klasa w pliku.java może być zdefiniowana jako publiczna - metoda lub zmienna do której możliwy jest dostęp dla danej klasy - klasa(metoda) niewidoczna na zewnątrz - klasa jest klasą abstrakcyjną - klasa nie może być dziedziczona - dla zmiennych zmienna nie zmieniająca wartości - dla parametrów zmienna przekazywana przez wartość (nie zmieniająca wartości po wyjściu z metody) - nazwa klasy, którą dziedziczy dana klasa - interfejs/y, który/e implementuje dana klasa Dziedziczenie (Inheritance) Funkcjonalność każda klasa (o ile nie jest to klasa final) może zostać rozszerzona poprzez zdefiniowanie dla niej klasy pochodnej. Klasa pochodna dziedziczy od klasy nadrzędnej wszystkie zmienne i metody a ponadto może sama definiować

(nadpisywać) metody klasy nadrzędnej i/lub zawierać własne metody i zmienne. Mechanizm dziedziczenia i hierarchii klas jest jednym z najbardziej istotnych elementów programowania obiektowego (np. MFC w C++). W Javie do zdefiniowania, że jakaś klasa jest pochodną od innej służy słowo kluczowe extends. Interfejs To zestaw poleceń i zachowań (w innych językach obiektowych zwany również protokołem), który rozszerza funkcjonalność klasy niezależnie od tego jakie jest jej miejsce w hierarchi dziedziczenia klas. Interfejsy definiuje się, wtedy gdy chce się aby pewne cechy zachowania (np. reakcja na ruch myszą) były niezależne od tego jakiego obiektu dotyczą. Wszystkie metody w interfejsie muszą być zdefiniowane jako abstrakcyjne. Przykład definicji klasy Etapy tworzenia nowego obiektu Deklaracja (Declaration) Przydział pamięci (Instantiation) Inicjalizacja (Initialization) Konstruktor Metoda/y o nazwie takiej jak klasa, wywoływana przy inicjalizacji obiektu danej klasy public class Rectangle { public int width = 0; public int height = 0; public Point origin; //Four constructors public Rectangle() { origin = new Point(0, 0); public Rectangle(Point p) { origin = p;

public Rectangle(int w, int h) { this(new Point(0, 0), w, h); public Rectangle(Point p, int w, int h) { origin = p; width = w; height = h; public void move(int x, int y) { origin.x = x; origin.y = y; public int area() { return width * height; Przykład hierarchi Klas package po_w1; public class SimpleClass { public static void main(string[] args) { Dodawanie d=new Dodawanie(); System.out.println(d.sumuj(3,5)); Mnozenie_dodawanie_i_dzielenie m=new Mnozenie_dodawanie_i_dzielenie(); System.out.println(m.mnoz(3,5)); System.out.println(m.sumuj(3,5)); System.out.println(m.dziel(5,3)); ; class Dodawanie{ public int sumuj(int a,int b){ return a+b; class Mnozenie_i_dodawanie extends Dodawanie{

public int mnoz(int a,int b){ return a*b; class Mnozenie_dodawanie_i_dzielenie extends Mnozenie_i_dodawanie{ public int dziel(int a,int b){ return a/b; UWAGA w przykładzie public int dziel(..), public int mnoz(..) i public int sumuj(..) to metody, każda metoda może mieć przekazywane parametry, może zwracać wartości a wykonywane w niej jest kod, pomiędzy { Konwencje programistyczne Pakiety z małych liter Pakiety w konwencji pl.edu.pwr.programowanie.lab4 com.net.super.program.pakiet1.podpakiet2 Nazwy klas rozpoczynamy Wielką literą. class Klasa{... Nazwy metod rozpoczynamy z małej litery. void metoda(){... Nazwy zmiennych rozpoczynamy z małej litery. int zmienna; Jeśli nazwa składa się z kilku wyrazów, to kolejne człony rozpoczynamy także z Wielkiej litery (notacja wielbłądzia ). Stałe (public static final) piszemy z samych dużych liter (można używać podłogi) Klasy a typy podstawowe Obiekt Podstawowy Symbol Size/Format Byte Byte 8-bit kod U2 Short Short 16-bit kod U2 Integer Int 32-bit kod U2 Long long l 64-bit kod U2 Float float f 32-bit IEEE 754 Double double d (opcja) 64-bit IEEE 754 Character '' Pojedynczy znak - 16- bit Unicode String -- "" Łańcuch tekstowy Boolean bool true lub false this

Słowo kluczowe używane w treści metody na oznaczenie obiektu, którego ta metoda jest częścią. super Słowo używane do oznaczenia zmiennej lub metody z klasy, z której dana klasa jest dziedziczona Instrukcja warunkowa: if ( wyrażenie ) instrukcja_1 ; else instrukcja_2 ; Instrukcja while Składnia instrukcji while jest następująca: Przykład Składnia pętli for while ( warunek ) instrukcja; // zliczanie do 10 int x = 0; while (x < 10) { System.out.printltn(""+x); x++; Składnia instrukcji for jest następująca: for (inicjalizacja; test; akcja ) instrukcja; Instrukcja inicjalizacja jest używana w celu zainicjalizowania stanu licznika lub innego przygotowania do wykonania pętli. Instrukcja test jest dowolnym wyrażeniem języka które jest obliczane przed każdym wykonaniem zawartości pętli. Jeśli wyrażenie test ma wartość true, wykonywane jest ciało pętli, po czym wykonywana

jest instrukcja akcja z nagłówka pętli (zwykle po prostu następuje inkrementacja zmiennej licznikowej). Przykład 1 Przykład 2 // dziesięć razy wpisuje napis "Hello" for (int i = 0; i < 10; i++) System.out.println("Hello! "); for (int i = 0; i < 10; i++) { System.out.println ("Hello!"); System.out.println ("wartoscia i jest:"+,i);