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

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

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

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

Paweł Kurzawa, Delfina Kongo

Technologie i usługi internetowe cz. 2

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

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Wykład 9: Polimorfizm i klasy wirtualne

> C++ dziedziczenie. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

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

Strzelanka dla dwóch graczy

Laboratorium 1 - Programowanie proceduralne i obiektowe

Języki Programowania. Prowadząca: dr inż. Hanna Zbroszczyk. tel: Konsultacje: piątek:

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Podstawy Języka Java

Kumulowanie się defektów jest możliwe - analiza i potwierdzenie tezy

Dokumentacja projektu Makao karciana gra sieciowa

Unity 3D - własny ekran startowy i menu gry

Klasy abstrakcyjne, interfejsy i polimorfizm

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

Programowanie obiektowe - 1.

Brain Game. Wstęp. Scratch

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

Unity 3D - efekty strzelania, koniec gry

W momencie stworzenia kontroler ustawia punkty na 100. Dodajemy zdarzenie Create w środku kontrolera,

Interfejsy i klasy wewnętrzne

Programowanie obiektowe

Tworzenie prostych gier w programie GameMaker

Programowanie obiektowe

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.

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

Podstawowe elementy GUI cz. 2 i 3 - zadania

PHP 5 język obiektowy

Podręcznik użytkownika. Instrukcje

Informatyka II. Laboratorium Aplikacja okienkowa

Aplikacje mobilne. Pliki zasobów, grafiki, menu, podpinanie zdarzeń. dr Tomasz Jach Instytut Informatyki, Uniwersytet Śląski

TEMAT : KLASY DZIEDZICZENIE

lekcja 8a Gry komputerowe MasterMind

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Podstawy Programowania Programowanie Obiektowe

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Programowanie komputerowe. Zajęcia 7

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Podstawy JavaScript ćwiczenia

Mechanizm dziedziczenia

Programowanie obiektowe

2.4 Dziedziczenie. 2.4 Dziedziczenie Przykłady programowania w C - kurs podstawowy

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

Podstawy Programowania Obiektowego

TWORZENIE SCHEMATÓW BLOKOWYCH I ELEKTRYCZNYCH

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Microsoft Small Basic

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

Mechanizm dziedziczenia

GIS / Projekt obiektu elektroenergetycznego. Ćwiczenia 2 Mapa wektorowa PG/ Warstwy

Programowanie - wykład 4

Programowanie obiektowe

Programowanie obiektowe w języku

RDF Schema (schematy RDF)

Rozdział 4 KLASY, OBIEKTY, METODY

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

Monika Wrzosek (IM UG) Programowanie obiektowe 21 / 25

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

SUM Edukacja Techniczno Informatyczna Języki i Systemy Programowania. Wykład 2. dr Artur Bartoszewski - WYKŁAD: Języki i Systemy Programowania,

Język Java część 2 (przykładowa aplikacja)

Modelowanie obiektowe

Ćwiczenia z przetwarzania tablic 2D

Pętle. Dodał Administrator niedziela, 14 marzec :27

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

Programowanie obiektowe

Dziedziczenie i interfejsy

C++ Przeładowanie operatorów i wzorce w klasach

Java: interfejsy i klasy wewnętrzne

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

Języki i techniki programowania Ćwiczenia 2

Misja #1 Poznajemy Prophio.

Ćwiczenie 5. Python 3: Programowanie obiektowe i dziedziczenie

Programowanie obiektowe

Listy powiązane zorientowane obiektowo

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Zad. 5: Sterowanie robotem mobilnym

Modelowanie i Programowanie Obiektowe

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Dziedziczenie. dr Jarosław Skaruz

Lazarus dla początkujących, część III

Kl 7-8 Szkoła Podstawowa

Zajęcia nr 15 JavaScript wprowadzenie do JavaScript

W powyższym kodzie utworzono wyliczenie dni tygodnia.

Funkcje i instrukcje języka JavaScript

Język Java część 2 (przykładowa aplikacja)

Wykład 9: Metody wirtualne i polimorfizm

Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np

7. Pętle for. Przykłady

Technologie obiektowe

Języki i techniki programowania Ćwiczenia 4 Wzorce

Transkrypt:

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

Załóżmy, że mamy napisać program o następującej specyfikacji: 1. Program wyświetla kwadrat, okrąg i trójkąt. 2. Gdy użytkownik kliknie na jakiś kształt tenże zaczyna świecić na niebiesko. 3. Jednocześnie odgrywana jest muzyczka w.mp3, specyficzna do każdego z kształtów.

Kwadrat Trójkąt odtwórzdźwięk() { /* odegraj dźwięk*/ Okrąg odtwórzdźwięk() // { tu będzie kod do zmiany /* odegraj dźwięk*/ Proceduralnie Obiektowo /* odegraj dźwięk*/

Dodajemy nowy kształt: Dodamy nowy kształt, ale tenże będzie odgrywał muzyczkę.wav

Zmieniamy przetestowany już kod i być może coś się zepsuje Proceduralnie Kwadrat /* odegraj dźwięk mp3*/ Okrąg /* odegraj dźwięk mp3*/ Obiektowo Trójkąt /* odegraj dźwięk mp3*/ Dziwnokształtny /* odegraj plik.wav*/

Kształt ma mieć inny kolor po kliknięciu: A do tego kolor ten ma być zmienny, podawany w parametrze i do tego gradientowy

Kwadrat /* odegraj dźwięk mp3*/ Okrąg Trójkąt /* odegraj dźwięk mp3*/ Dziwnokształtny kolor1; kolor2; Proceduralnie Zmieniamy przetestowany kod Kolejne if-y /* odegraj dźwięk mp3*/ Obiektowo z gradientem /* odegraj plik.wav*/

Kwadrat Okrąg Trójkąt Dziwnokształtny /* odegraj dźwięk mp3*/ /* odegraj dźwięk mp3*/ /* odegraj dźwięk mp3*/ kolor1; kolor2; z gradientem /* odegraj plik.wav*/

Kwadrat Okrąg Trójkąt Dziwnokształtny Kształt /* odegraj dźwięk*/

Kwadrat Okrąg Trójkąt Dziwnokształtny kolor1; kolor2; z gradientem /* odegraj plik.wav*/ Kształt /* odegraj dźwięk*/

Nazwa klasy To co obiekt wie To co obiekt potrafi Klasa będzie swoistym projektem obiektów tworzonych na jej podstawie. To co obiekt wie = atrybuty To co obiekt potrafi = metody

Pies To co obiekt wie Telewizor To co obiekt wie To co obiekt potrafi To co obiekt potrafi

1. Na kartce (lub w Paincie, Visio, czy innym podobnym) zaprojektuj hierarchię klas opisującą ludzi na uczelni. 2. Pomyśl o klasach abstrakcyjnych, atrybutach, metodach. 3. Które z metod będą dziedziczone, a które muszą być zredefiniowane? 4. Wykonaj je w Javie wraz z przykładowymi metodami: 1. wyliczśrednią() 2. idźnauczelnię() 3. wypiszinformacjęoosobie() oraz atrybutami 1. Imię 2. Nazwisko 3. Nr albumu / nr pracownika 4. Oceny Nie poprzestań na tych, dodaj swoje

Programowanie zorientowane obiektowo pozwala na dodawanie funkcjonalności bez zmiany uprzednio przetestowanego kodu. Wszystko w Javie jest obiektem (znajduje się wewnątrz klasy) Klasa opisuje sposób na stworzenie obiektu danego typu. Taki schemat. Obiekt potrafi robić różne rzeczy. Niekoniecznie interesuje nas w jaki sposób to robi. Obiekt wie o niektórych rzeczach i robi specyficzne rzeczy Rzeczy które obiekt wie o sobie nazywane atrybutami. Reprezentują stan obiektu. Rzeczy które obiekt robi nazywane są metodami. Reprezentują zachowanie obiektu. Gdy tworzysz klasę, zwykle powinieneś też stworzyć oddzielną klasę do testowania w której stworzysz obiekty poprzedniej klasy. Klasa może dziedziczyć atrybuty i metody z superklas (bardziej ogólnych klas) Programy w Javie to po prostu gadanie obiektów do siebie

Napisz grę w zgadywanie, ale w pełni automatyczną. Będziesz miał trzy klasy: Gracz, GraWZgadywanie oraz GameLauncher. Klasa GameLauncher będzie najprostsza. W jej metodzie main() zawrzesz powołanie do życia obiektu klasy GraWZgadywanie (pomyśl o całej grze jako obiekcie). Resztą zajmie się klasa GraWZgadywania: w jej wnętrzu powołasz do życia trzy obiekty klasy Gracz. Metoda rozpocznijgrę() rozpocznie grę w zgadywanie: zostanie wylosowana liczba z zakresu 0 9. Wyświetlisz ją na ekran. każdy z graczy (obiektów klasy Gracz) będzie zgadywał liczbę z tego zakresu. Zgadywane liczby zostaną wyświetlone na ekran. gra będzie się toczyć, dopóki któryś z graczy nie trafi. Wtedy ma nastąpić wyświetlenie który z graczy wygrał