PGO - Projektowanie i implementacja pierwszych klas

Slides:



Advertisements
Podobne prezentacje
C++ wykład 2 ( ) Klasy i obiekty.
Advertisements

Programowanie obiektowe
Programowanie obiektowe
Wzorce.
Static, const, volatile.
Interfejs użytkownika do zarządzania konfiguracją oprogramowania
Implementacja ekstensji klasy
Implementacja asocjacji
Programowanie Obiektowe w Javie (c.d.)
Programowanie obiektowe w Javie
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Marcin Kujawa Michał Łobarzewski
Struktury.
C++ wykład 2 ( ) Klasy i obiekty.
Zasady zaliczenia Warunki uzyskania zaliczenia:
Projektowanie - wprowadzenie
Klasy w C++. Deklaracja klasy class NazwaTwojejKlasy { //w tym miejscu piszemy definicje typów, //zmienne i funkcje jakie mają należeć do klasy. }; //tutaj.
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.
Podstawy informatyki (4)
UML 2.x Robert Pająk.
Podstawy informatyki Struktury, operatory, wyjątki
T: Różnice pomiędzy programowaniem strukturalnym a obiektowym
Źródła: podręcznikopracował: A. Jędryczkowski.
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).
Word Tabela.
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.
WPROWADZENIE W ŚWIAT OBIEKTÓW
Andrzej Repak Nr albumu
Java – coś na temat Klas Piotr Rosik
Dziedziczenie Maciek Mięczakowski
Inicjalizacja i sprzątanie
Wzorce slajdów, animacje, różne orientacje slajdów
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Farseer Physics Engine. Farseer Physics Engine jest silnikiem fizycznym napisanym dla platformy.NET. Został on zainspirowany przez silnik Box2D znany.
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
MICROSOFT Access TWORZENIE MAKR
Kurs języka C++ – wykład 3 ( )
OCPJP Inner classes.
Programowanie w języku C++
J A V A S C R I P T Obiekty Opracowała: Anna Śmigielska.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Programowanie strukturalne i obiektowe C++
Diagram klas Kluczowymi elementami są: klasy (class)
Diagram klas Diagramy klas służą do obrazowania statycznych aspektów projektowanych systemów jako: Projekt struktury logicznej baz danych Projekt składników.
Obiekty DOM.
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Paweł Starzyk Obiektowe metody projektowania systemów
Wzorce Projektowe w JAVA
Programowanie Zaawansowane
Partnerstwo dla Przyszłości 1 Lekcja 27 Klasy i obiekty.
Wykład 2 Programowanie obiektowe. Programowanie obiektowe wymaga dobrego zrozumienia działania funkcji definiowanych przez użytkownika, w ten sposób będziemy.
Partnerstwo dla Przyszłości 1 Lekcja 28 Dziedziczenie i rodzaje dziedziczenia.
Asocjacja,Kompozycja,Agregacja
Implementacja asocjacji (z atrybutami i bez) przy użyciu: referencji (kolekcji referencji) tablic asocjacyjnych przygotował: Kamil Kowalczyk.
Temat: Tworzenie bazy danych
Inżynieria oprogramowania Wzorce konstrukcyjne WWW: Jacek Matulewski Instytut Fizyki, UMK.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Programowanie Obiektowe – Wykład 6
Typy wyliczeniowe, kolekcje
Klasy, pola, obiekty, metody. Modyfikatory dostępu, hermetyzacja
Programowanie Obiektowe – Wykład 2
Wprowadzenie do programowania obiektowego
PGO Interfejsy Michail Mokkas.
PGO Dziedziczenie Michail Mokkas.
PGO Przeciążanie metod i konstruktorów
PGO Porównywanie obiektów
Zapis prezentacji:

PGO - Projektowanie i implementacja pierwszych klas Michail Mokkas

Spis treści Pakiety w Javie Hermetyzacja Modyfikatory dostępu Atrybuty klasowe Metody klasowe Metody get (getters) Metody set (setters) Metoda toString Zadania

Pakiety w Javie Służą do grupowania klas w pewnej przestrzeni nazw każda z nazw musi być unikatowa np.: pakiet1.klasaA, pakiet2.klasaA Pakiety klas kompresowane są do plików formatu JAR Konwencja nazewnictwa pakietów: nazwa_organizacji.subdomena1.subdomenaX np.: pjatk.pgo.projekt2 Aby skorzystać z klas danego pakietu, musimy go zaimportować:

Hermetyzacja Polega na ukrywaniu implementacji elementów klas (metody, atrybuty) Jedynie własne metody obiektu mogą zmieniać jego stan (atrybuty) Podejście to lepiej odwzorowywuje rzeczywistość a także pozwala uniknąć wielu błędów projektowych

Modyfikatory dostępu Modyfikator – słowo przed typem atrybutu/metody Klasa Pakiet Podklasa Świat private TAK NIE (brak mod.) TAK/NIE* protected public Modyfikator – słowo przed typem atrybutu/metody np.: public int age; Klasa – dostępność z poziomu klasy Pakiet – dostępność z poziomu pakietu np.: package pakietA; Podklasa – dostępność z poziomu podklasy Świat – dostępność z poziomu dowolnego innego elementu *(NIE) - Jeżeli podklasa nie należy do pakietu

Atrybuty klasowe Atrybuty odnoszące się do klasy (nie danego obiektu) np.: private static String info_o_klasie; Dostęp: Klasa Person main() A co jeżeli mamy: ???

Metody klasowe Stosowane, kiedy wiemy, że metoda nie odnosi się do żadnego z poszczególnych obiektów klasy np.:

Metody get (getters) Służą do otrzymania wartości atrybutów obiektu

Metody set (setters) Służą do zmiany wartości atrybutów obiektu

Metoda toString Służy do wyświetlenia wartości, jakie dany obiekt reprezentuje

Przykład użycia

Przydatne metody klasy String substring() equals() charAt() length() https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

Singleton Wzorzec projektowy, który zmusza daną klasę do posiadania tylko i wyłącznie jedną swoją instancję (jeden obiekt klasy).

Zadanie B1 Stwórz klasę reprezentującą książkę. Klasa powinna posiadać następujące atrybuty: tytuł imię i nazwisko autora wydawnictwo rok wydania ilość stron cena Utwórz metody potrzebne do tworzenia obiektu, edycji oraz wyświetlania jego atrybutów.

Zadanie B2 Stwórz klasę reprezentującą rower. Klasa powinna posiadać następujące atrybuty: nazwa producenta rozmiar kół numer seryjny cena ilość sprzedanych Utwórz metody odpowiedzialne za tworzenie obiektów, edycję i wyświetlanie jego atrybutów. Stwórz także metody „sprzedaj” i „wyswietl_liczbe_sprzedanych”

Zadanie B3 Stwórz pakiety: pakietA, pakietB W pakiecie A stwórz klasę zawierającą metodę main(). W pakiecie B stwórz klasę reprezentującą osobę. Klasa (Osoba) powinna zawierać atrybuty: imię nazwisko data urodzenia (skorzystaj z Calendar) PESEL adres zamieszkania Utwórz metody potrzebne do tworzenia obiektu, edycji oraz wyświetlania jego atrybutów. Utwórz metodę sprawdzającą poprawność numeru PESEL pesel = data urodzenia + 5 cyfr (format: RRMMDDXXXXX)

Zadanie B4 Stwórz klasę reprezentującą kalkulator. Atrybuty kalkulatora: Informacja o kalkulatorze Utwórz metody potrzebne do wykonywania operacji: dodawania odejmowania mnożenia dzielenia wyświetlania informacji o kalkulatorze Dodaj restrykcje tworzenia tylko jednego aktywnego kalkulatora (jedna instancja klasy/ jeden obiekt). Wzorzec projektowy „Singleton”