PODEJŚCIE OBIEKTOWE. Przykład 1 metody i atrybuty statyczne

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

PODSTAWOWE ELEMENTY JĘZYKA JAVA INSTRUKCJE 1. Pętle

Podejście obiektowe. Tablice (1) obiektów

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

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

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

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

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

Języki i metody programowania Java Lab2 podejście obiektowe

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

Języki i metody programowania Java Lab1 Zofia Kruczkiewicz

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

Dziedziczenie jednobazowe, poliformizm

Programowanie obiektowe

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

Definiowanie własnych klas

Definicje klas i obiektów. Tomasz Borzyszkowski

Podstawy Programowania Obiektowego

Podstawy programowania obiektowego

WYJĄTKI. Jest ona jednak czasochłonna i prowadzi do duŝego zapotrzebowania na zasoby systemu.

Wielowątkowość. Programowanie w środowisku rozproszonym. Wykład 1.

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

Wykład 4: Klasy i Metody

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

Definiowanie własnych klas

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

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Programowanie obiektowe

DOSTĘP DO METOD I ZMIENNYCH, TABLICE. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla kaŝdego, Helion 2001)

Programowanie w Internecie. Java

Kompozycja i dziedziczenie klas

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Enkapsulacja, dziedziczenie, polimorfizm

PARADYGMATY PROGRAMOWANIA Wykład 4

Wykład 8: klasy cz. 4

Programowanie obiektowe

Materiały pomocnicze do wykładu 3 - Elementy języka Java

1. Które składowe klasa posiada zawsze, niezależnie od tego czy je zdefiniujemy, czy nie?

Aplikacje w środowisku Java

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

Rozdział 4 KLASY, OBIEKTY, METODY

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

Wykład 5: Klasy cz. 3

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

STRUMIENIE TEKSTOWE WEJŚCIOWE WPROWADZANIE DANYCH STRUMIENIE BAJTOWE, STRUMIENIE TEKSTOWE

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

Programowanie obiektowe w języku

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

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

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

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

Wykład 2: Podstawy Języka

Programowanie w C++ Wykład 14. Katarzyna Grzelak. 3 czerwca K.Grzelak (Wykład 14) Programowanie w C++ 1 / 27

Throwable. Wyjatek_1(int x_) { x = x_; } int podaj_x()

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

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

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Programowanie obiektowe zastosowanie języka Java SE

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

Wyliczanie wyrażenia obiekty tymczasowe

Programowanie obiektowe

Przypomnienie o klasach i obiektach

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Pola i metody statyczne

1 Atrybuty i metody klasowe

Materiały pomocnicze do wykładu 3 - Elementy języka Java

W2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Podstawy Programowania Obiektowego

Materiały do zajęć VII

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Wprowadzenie do języka Java

Programowanie obiektowe

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie II. Lista 3. Modyfikatory dostępu plik TKLientBanku.h

Wartości domyślne, przeciażenia funkcji

Szablony klas, zastosowanie szablonów w programach

Programowanie Obiektowe i C++

Programowanie obiektowe w języku C++ dr inż. Jarosław Forenc

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

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

Programowanie, część I

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

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

Składnia C++ Programowanie Obiektowe Mateusz Cicheński

Programowanie obiektowe

Programowanie w Javie Lista nr 1. Wybieramy kategorię Java, a wśród Projektów Java Application i [NEXT]

DOSTĘP DO METOD I ZMIENNYCH. Dostęp do zmiennych (na podstawie:l.lemay,r.cadenhead,java 2 dla każdego, Helion 2001)

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Szablony funkcji i szablony klas

Programowanie obiektowe

Podstawy i języki programowania

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

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

KLASY, INTERFEJSY, ITP

Zmienne, stałe i operatory


Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Transkrypt:

Przykład 1 metody i atrybuty statyczne public class Napis1 { static String wynik; public static void Inicjuj() {wynik = ""; PODEJŚCIE OBIEKTOWE public static void Dopisz_do_wyniku(char ch) { wynik+="\nkod znaku "+ ch + " jest równy "+ (int)ch; public static void Rysuj_graficznie() { JOptionPane.showMessageDialog(null, wynik); public static void Rysuj_konsolowo() { System.out.println(wynik); { String s; char ch ='a'; Inicjuj(); while ( ch!= 'k' ) //1 sposób podawania znaku { s=joptionpane.showinputdialog(null, "Podaj znak"); ch=s.charat(0); Dopisz_do_wyniku(ch); Rysuj_graficznie(); Rysuj_konsolowo(); System.out.println(wynik); Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 1

public class Napis1 { static String wynik; public static void Inicjuj() {wynik = ""; public static void Dopisz_do_wyniku(char ch) { wynik+="\nkod znaku "+ ch + " jest równy "+ (int)ch; public static void Rysuj_graficznie() { JOptionPane.showMessageDialog(null, wynik); public static void Rysuj_konsolowo() { System.out.println(wynik); { String s; char ch ='a'; Inicjuj(); while ( ch!= 'k' ) { s=joptionpane.showinputdialog(null, "Podaj znak"); ch=s.charat(0); Dopisz_do_wyniku(ch); Rysuj_graficznie(); Rysuj_konsolowo(); System.out.println(wynik); Nazwa klasy Napis1 Atrybut klasy typu static (składowa typu static ) istnieje przez cały czas działania programu w pamięci programu - definicja atrybutu static Metody klasy Napis1 typu static (składowe funkcje klasy) moŝna je uŝywać czyli wywoływać bez tworzenia obiektu klasy Napis1 definicje metod static Wywołania metod typu static klasy JOptionPane we metodzie main innych klas np. Napis1 Wywołania metod typu static klasy Napis1 we własnej metodzie main Wywołania atrybutu typu static klasy Napis1. Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 2

nagłówek metody funkcji składowej statycznej typ wynik bez typu nazwa lista parametrów () ciało metody { public static void Dopisz_do_wyniku(char ch) { wynik+="\nkod znaku "+ ch + " jest równy "+ (int)ch; Dostęp do atrybutów statycznych i niestatycznych jest bezpośredni w metodach statycznych i niestatycznych własnej klasy. Wyjątkiem jest metoda main dla składowych niestatycznych. Uwaga: W metodzie typu static muszą być jedynie wywoływane atrybuty typu static i metody typu static void brak typu Napis1.Rysuj_graficznie(); Wywołanie metody statycznej za pomocą nazwy klasy Napis1 w metodzie main. Jedynie w metodzie main dla metod typu static dodano do nazwy metody nazwę klasy Napis1 oraz operator wyboru.. (Nie jest to obowiązkowe, czyli bez podania nazwy klasy metoda statyczna teŝ moŝe być wywołana w metodzie main własnej klasy) System.out.println(Napis1.wynik); Wywołania atrybutu typu static klasy Napis1 w metodzie main. Jedynie w metodzie main dla atrybutów typu static dodano do nazwy metody nazwę klasy Napis1 oraz operator wyboru..(nie jest to obowiązkowe, czyli bez podania nazwy klasy atrybut statyczny teŝ moŝe być wywołany w metodzie main własnej klasy) Obiektowy styl programowania - uŝywanie metod w celu przetwarzania atrybutów obiektu - hermetyzacja Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 3

Przykład 2 wielouŝywalność kodu klasy public class Napis2 { static String wynik; public static void Inicjuj() {wynik = ""; public static void Dopisz_do_wyniku(char ch) {wynik+="\nkod znaku "+ ch + " jest równy "+ (int)ch; public static void Rysuj_graficznie() {JOptionPane.showMessageDialog(null, wynik); public static void Rysuj_konsolowo() { System.out.println(wynik); { char ch ='a'; Inicjuj(); while ( ch!= 'K' ) { //2 sposób podawania znaku ch= (char)(math.random()*11 +65); znaku Dopisz_do_wyniku(ch); Rysuj_graficznie(); Rysuj_konsolowo(); Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 4

Przykład 3 metody i atrybuty niestatyczne public class Napis3 { String wynik; public void Inicjuj() { wynik = ""; public void Dopisz_do_wyniku(char ch) { wynik+="\nkod znaku "+ ch + " jest równy "+ (int)ch; public void Rysuj_graficznie() {JOptionPane.showMessageDialog(null, wynik); public void Rysuj_konsolowo() { System.out.println(wynik); { String s; char ch ='a'; Napis3 napis; napis = new Napis3(); napis.inicjuj(); while ( ch!= 'k' ) { s =JOptionPane.showInputDialog(null, "Podaj znak"); ch = s.charat(0); napis.dopisz_do_wyniku(ch); napis.rysuj_graficznie(); napis.rysuj_konsolowo(); System.out.println(napis.wynik); Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 5

Brak słowa static przy definicjach wymaga utworzenia obiektu typu Napis3. Nazwa klasy Napis3 oznacza typ obiektu. Obiekt powstaje po wywołaniu operatora new nagłówek metody funkcji składowej niestatycznej typ wynik bez typu nazwa lista parametrów () ciało metody { public void Dopisz_do_wyniku(char ch) { wynik+="\nkod znaku "+ ch + " jest równy "+ (int)ch; Referencja typu Napis3 niezainicjowana brak obiektu typu Napis3 Napis3 napis; napis = new Napis3(); Referencja typu Napis3 zainicjowana utworzono obiekt typu Napis3 za pomocą operatora new napis.rysuj_graficznie(); System.out.println(napis.wynik); Wywołanie metody niestatycznej Rysuj_graficznie() za pomocą referencji napis do obiektu typu Napis3 oraz operatora wyboru. -obowiązkowe w metodzie main własnej klasy dla metod niestatycznych Wywołania atrybutu typu niestatycznego wynik klasy Napis1 w metodzie main za pomocą referencji napis do obiektu typu Napis3 oraz operatora wyboru. obowiązkowe w metodzie main własnej klasy dla atrybutów niestatycznych Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 6

Przykład 4 metody i atrybuty statyczne oraz niestatyczne public class Napis4 { String wynik = ""; static int ile_obiektow = 0; public void Inicjuj() { ile_obiektow++; wynik+=""; 1) Metoda niestatyczna, oprócz atrybutów niestatycznych i metod niestatycznych, moŝe uŝywać atrybutów statycznych i metod statycznych danej klasy. 2) NaleŜy utworzyć obiekt, aby wywołać metodę niestatyczną klasy tego obiektu. 3) Atrybut statyczny naleŝy do klasy i dlatego jest wspólny dla wszystkich obiektów. Dlatego moŝe być on uŝywany w dowolnym kontekście: statycznym i niestatycznym 4) W metodzie statycznej moŝna uŝywać tylko atrybutów statycznych i metod statycznych danej klasy 1) KaŜdy obiekt, który uŝywa w metodzie statycznej lub niestatycznej atrybutu statycznego, uŝywa tego atrybutu jako wspólnego: 2) KaŜdy obiekt ma własny atrybut wynik oraz wspólny atrybut public void Dopisz_do_wyniku(String lan) { wynik+=lan+"\n"; public void Rysuj_graficznie() { JOptionPane.showMessageDialog(null, wynik); public void Rysuj_konsolowo() { System.out.println(wynik); Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 7

{ String s; Napis4 napis1, napis2; napis1=new Napis4(); napis2=new Napis4(); napis1.inicjuj(); napis2.inicjuj(); s=joptionpane.showinputdialog(null,"podaj lancuch do obiektu 1"); napis1.dopisz_do_wyniku(s); s=joptionpane.showinputdialog(null,"podaj lancuch do obiektu 2"); napis2.dopisz_do_wyniku(s); napis1.rysuj_graficznie(); napis2.rysuj_graficznie(); napis1.rysuj_konsolowo(); napis2.rysuj_konsolowo(); System.out.println("Sa "+napis1.ile_obiektow+" obiekty"); System.out.println("Sa "+napis2.ile_obiektow+" obiekty"); System.out.println("Sa "+Napis4.ile_obiektow+" obiekty"); // nazwę obiektów napis1 I napis2 moŝna pominąć przy odwołaniu do atrybutu // ile_obiektow, poniewaŝ jest to statyczny atrybut (wspólny dla obu obiektów) Autor: Zofia Kruczkiewicz, Prohramowanie obiektowe Java, Wykład 4 8