Języki programowania imperatywnego

Podobne dokumenty
Języki programowania imperatywnego

Programowanie obiektowe

Programowanie obiektowe

Programowanie w języku Java

Enkapsulacja, dziedziczenie, polimorfizm

Technologie i usługi internetowe cz. 2

Dziedziczenie. Zadanie 1

Dziedziczenie Dana jest klasa Punkt w pliku o nazwie Punkt.java:

TEMAT : KLASY DZIEDZICZENIE

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

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

Programowanie obiektowe i zdarzeniowe

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

Java: interfejsy i klasy wewnętrzne

Aplikacje w środowisku Java

Programowanie obiektowe

Programowanie obiektowe w języku

Programowanie obiektowe

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Mechanizm dziedziczenia

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Dziedziczenie. dr Jarosław Skaruz

Informatyka II Laboratorium 3 : Programowania obiektowe C++ - dziedziczenie

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

Klasy abstrakcyjne i interfejsy

Programowanie w C++ Wykład 13. Katarzyna Grzelak. 4 czerwca K.Grzelak (Wykład 13) Programowanie w C++ 1 / 26

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

Polimorfizm. dr Jarosław Skaruz

Zaawansowane programowanie w języku C++ Klasy w C++

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

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

PARADYGMATY PROGRAMOWANIA Wykład 2

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Dokumentacja do API Javy.

Algorytmy i Struktury Danych. Anna Paszyńska

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

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

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

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

.NET Klasy, obiekty. ciąg dalszy

Wykład 5 Okna MDI i SDI, dziedziczenie

Języki i techniki programowania Ćwiczenia 2

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

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

PHP 5 język obiektowy

Egzamin z Podstaw informatyki i programowania 2007/2008

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

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

Podstawy Programowania Obiektowego

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

Mechanizm dziedziczenia

1. Język JAVA. 1. Pierwszy program. 2. Kalkulator. 3. Klasy. 4. Dziedziczenie

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

Programowanie 3 - Funkcje, pliki i klasy

Zaawansowane programowanie w języku C++ Programowanie obiektowe

C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie. C++ - dziedziczenie C++ - DZIEDZICZENIE.

Zad.30. Czy można utworzyć klasę, która implementuje oba interfejsy?

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Przykład -

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

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

Wykład V. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Język C++ wykład VII. uzupełnienie notatek: dr Jerzy Białkowski. Programowanie C/C++ Język C++ wykład VII. dr Jarosław Mederski. Spis.

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

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

Przychodnia 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę Osoba.

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

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

Wprowadzenie do projektu QualitySpy

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

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

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

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

Technologie obiektowe

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

TEMAT : KLASY POLIMORFIZM

Problemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?

Wykład 8: klasy cz. 4

Programowanie obiektowe. Materiały przygotował: mgr inż. Wojciech Frohmberg

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Zaawansowane programowanie w C++ (PCP)

Aplikacje w środowisku Java

Szablony klas, zastosowanie szablonów w programach

Wykład 6: Dziedziczenie

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

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

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Dziedziczenie jednobazowe, poliformizm

Przypomnienie o klasach i obiektach

Kompozycja i dziedziczenie klas

Programowanie w Internecie. Java

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

Programowanie w C++ Wykład 12. Katarzyna Grzelak. 20 maja K.Grzelak (Wykład 12) Programowanie w C++ 1 / 32

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

Java Język programowania

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy INNE SPOSOBY INICJALIZACJI SKŁADOWYCH OBIEKTU

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM

Transkrypt:

Katedra Inżynierii Wiedzy laborki 7 i 8

Klasy abstrakcyjne klasa abstrakcyjna pozwala wymusić implementację metody; klasa oznaczona jest jako abstrakcyjna, jeżeli przynajmniej jedna metoda jest abstrakcyjna; nie można utworzyć instancji klasy abstrakcyjnej; metody abstrakcyjne nie zawierają kodu; klasa może zawierać metody oraz metody abstrakcyjne; klasa pochodna od klasy abstrakcyjnej może korzystać z metod jej klasy (słowo base).

Rysunek: Klasa abstrakcyjna

Rysunek: Klasa pochodna musi implementować metodę abstrakcyjną

Rysunek: Wywołanie metod z obiektu implementującego metody abstrakcyjne

Rysunek: Prosty interfejs

Rysunek: Dziedziczenie wielokrotne - 2 interfejsy

Rysunek: Dziedziczenie po interfejsie

Rysunek: Tworzymy prostą klasę

Rysunek: Użycie operatora is

Rysunek: Klasa implementująca interfejs

Rysunek: Sprawdzamy, czy jest to obiekt utworzony jako obiekt klasy implementującej wybrany interfejs

Zadanie 1 Przygotuj klasę abstrakcyjną Bryla posiadająca pole: nazwa. Dodatkowo klasa ta powinna posiadać abstrakcyną metody: ObliczObjetosc(), ObliczPowierzchnie(). Utwórz dwie klasy dziedziczące po powyższej klasie abstrakcyjnej: Szescian oraz Stozek. Szescian powinien zawierać dodatkowe pole: a oznaczające długość krawędzi. Natomiast Stozek powinien zawierać dodatkowe pola: wysokosc, promienpodstawy. Obydwie klasy powinny implementować metody ObliczObjetosc i ObliczPowierzchnie.

Zadanie 2 cz.1 Dana jest klasa Biblioteka zawierająca następujące pola: string nazwa, Pracownik kierownik oraz pole statyczne typu int zbior równe 23000. Dodatkowo klasa zawiera dwie tablice: Ksiazka[] ksiegozbior (o wielkości 23000); Ksiazka[] wypozyczone (o wielkości 1000). Klasa Pracownik dziedziczy po abstrakcyjnej klasie Osoba. Klasa Osoba zawiera pola: string imie, string nazwisko, int stazpracy, float pensja oraz konstruktor z czterema parametrami inicjalizującymi wszystkie pola klasy. Klasa Osoba zawiera abstrakcyjną metodę GodzinyPobytu() - która to powinna wypisywać godziny pobytu 8 16 jeżeli bieżący dzień miesiąca jest parzysty, lub 9 17 jeżeli bieżący dzień miesiąca jest nieparzysty. Dodatkowo w każdy ostatni dzień miesiąca 10 18 (skorzystaj z klasy DateTime i właściwości Now).

Zadanie 2 cz.2 Klasa Ksiazka zawiera pola: string autor, string tytul, int nrkatalogowy, string gatunek (tylko 3 możliwe, dowolne gatunki), bool wypozyczona (true oznacza, że książka jest wypożyczona). Klasa Biblioteka musi implementować interfejs isortuj zawierający dwie metody: WypiszPosortowane() oraz WypiszGatunkami(). WypiszPosortowane() powinno być metodą bez parametrów, która nie zwraca żadnej wartości, wypisującą na ekranie posortowany księgozbiór: sortujemy najpierw po autorze, potem po gatunku, na końcu po tytule (sortowanie po 3 kluczach jednocześnie). Natomiast WypiszGatunkami() powinno działać jak wyżej, ale umożliwiać sortowanie tylko i wyłącznie po gatunkach. Uwaga, w obydwu przypadkach sortujemy tylko książki, które nie są wypożyczone.

Zadanie 2 cz.3 Klasa Ksiazka powinna zawierać metodę void UstawJakoWypozyczona() - która zmienia pole wypozyczona na true. Natomiast klasa Biblioteka powinna zawierać metodę int UstawWypozyczone(int[] numery) - która dla ksiażek o numerach katalogowych takich, jak w tablicy numery zmienia wartości książek z tablicy ksiegozbior na wypożyczone oraz w tablicy wypozyczone dopisuje książki oznaczone wcześniej jako wypożyczone. Metoda zwraca 0, jeżeli wszystko przebiegło pomyślnie, lub -1 jeżeli w tablicy wypozyczone osiągnięto limit tysiąca wypożyczonych książek.

Zagadnienia na kolokwium definicja klasy, pola i metody klasy; użycie public, protected oraz private - w kontekście dziedziczenia; konstruktor domyślny, konstruktor z parametrami, konstruktor kopiujący; przesłanianie i przeciążanie metod; dziedziczenie; klasy abstrakcyjne; interfejsy i dziedziczenie wielokrotne.