Programowanie obiektowe III rok EiT

Slides:



Advertisements
Podobne prezentacje
C++ wykład 4 ( ) Przeciążanie operatorów.
Advertisements

Język C/C++ Funkcje.
Programowanie obiektowe
Kurs języka C++ Paweł Rzechonek Instytut Informatyki
C++ Paweł Rzechonek Instytut Informatyki Uniwersytetu Wrocławskiego
C++ wykład 13,14,15 (16/23/ ) STL.
Programowanie obiektowe PO PO - LAB 4 Wojciech Pieprzyca.
Programowanie obiektowe
Operatory.
Wprowadzenie.
Wprowadzenie do C++ Zajęcia 2.
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 4: Wyrażenia i operatory. Podstawowe instrukcje języka.
Przetwarzanie tekstów i AWK Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do.
Podstawy informatyki Wirtotechnologia – Wskaźniki i referencje
Struktury.
Zasady zaliczenia Warunki uzyskania zaliczenia:
PODSTAWY JĘZYKA PHP 1. czym jest 2. składnia 3. wersje 4. bazy danych
Wykład 1: Wskaźniki Podstawy programowania Programowanie w C
Wstęp do programowania obiektowego
Projektowanie i programowanie obiektowe II - Wykład II
Programowanie obiektowe W1 Wprowadzenie
Polsko – Japońska Wyższa Szkoła Technik Komputerowych
Podstawy programowania II
Programowanie obiektowe III rok EiT
Podstawy informatyki (4)
Programowanie obiektowe III rok EiT
Informatyka I Wykład 5 OPERATORY Priorytety i kolejność obliczeń
Informatyka I - Wykład ANSI C
Podstawy Programowania
Programowanie obiektowe III rok EiT
Programowanie strukturalne i obiektowe
Programowanie obiektowe III rok EiT
Programowanie Windows na przykładzie C# część 1
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład VIII.
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład XIII.
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład IX.
Programowanie obiektowe III rok EiT
Programowanie obiektowe III rok EiT
WPROWADZENIE W ŚWIAT OBIEKTÓW
STEROWANIE Ale nie tylko
Programowanie obiektowe Wykład 6 dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/14 Dariusz Wardowski.
Rozwiązanie zadań do zaliczenia I0G1S4 // indeks
Podstawy informatyki 2013/2014
Programowanie obiektowe – język C++
Programowanie obiektowe 2013/2014
Kurs języka C++ – wykład 8 ( )
Programowanie w języku C++
Kurs języka C++ – organizacja zajęć ( )
Temat 1: Ogólne cechy języka PHP
Kurs języka C++ – wykład 4 ( )
Zasady arytmetyki dwójkowej
Projektowanie obiektowe. Przykład: Punktem wyjścia w obiektowym tworzeniu systemu informacyjnego jest zawsze pewien model biznesowy. Przykład: Diagram.
Platforma .Net.
Podsumowanie wiedzy MPDI2 sem.3 INFORMATYKA. tworzenie nowego pliku i katalogu, nawigacja po katalogach, listowanie zawartości katalogu, zmiana nazw,
Struktura systemu operacyjnego
1 Opisy funkcji Adres strony WWW : html (należy odszukać hyperlink Function Index) (
K URS JĘZYKA C++ – WYKŁAD 3 ( ) Przenoszenie Składowe statyczne Funkcje wbudowane Argumenty domyślne.
C++ mgr inż. Tomasz Turba Politechnika Opolska 2016.
Różnice między programowanie strukturalnym a obiektowym
Pojęcia podstawowe Algebra Boole’a … Tadeusz Łuba ZCB 1.
Kurs języka C++ – organizacja zajęć ( )
Programowanie Obiektowe – Wykład 2
Visual Basic w programie Microsoft Excel
Założenia projektowe Javy
NEMERLE Michał Maliszewski.
PGO Dziedziczenie Michail Mokkas.
Zapis prezentacji:

Programowanie obiektowe III rok EiT 2017-03-28 05:50:17 Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład IV

Program wykładu Klasówka Źródła podejścia obiektowego Podstawy metody PRINCE -PRojects In Controlled Environment Podstawy metody LFA -Logical Framework Approach, składanie wniosków o grant Język C++ - gadżety języka, polimorfizm, klasy, dziedziczenie Obiektowe języki programowania Elementy składni Przykład problemu Podstawy języka JAVA Klasówka

Literatura C++ for C programmers, Ira Pohl, The Benjamin/Cummings Publishing Company, Inc. Inżynieria oprogramowania w projekcie informatycznym, pod redakcją Janusza Górskiego, Wydawnictwo MIKOM, Warszawa 2000 Symfonia C++, Jerzy Grębosz, Oficyna Kallimach, Kraków 1999

Programowanie obiektowe - historia Idea programowania obiektowego została wprowadzona po raz pierwszy w 1966 roku w języku Simula Burzliwy rozwój programowania obiektowego od początku lat 80, po powstaniu języka Smalltalk Do dzisiaj powstało ponad 50 języków programowania obiektowego Języki w pełni obiektowe, zaprojektowane od podstaw, takie jak: Smalltalk, Flavors, Eiffel, OakLisp, Trellis jedynym dostępnym stylem programowania jest styl obiektowy, który implementowany jest z reguły w sposób uniwersalny, przejrzysty i wygodny dla użytkownika Języki powstałe przez rozszerzenie tradycyjnych języków programowania o elementy obiektowości, takie jak C++, Objective-C, LOOPS, Pascal możliwy jest zarówno klasyczny, jak i obiektowy styl programowania. Umożliwia to bogactwo i różnorodność mechanizmów programowania z jednej strony oraz zgodność z popularnymi klasycznymi językami programowania, z których wywodzą się odpowiednie języki obiektowe Języki homogeniczne i heterogeniczne

Smalltalk Smalltalk jest zintegrowanym językiem i środowiskiem programowania obiektowego Znaczenie języka Smalltalk w przeszłości polegało głównie na tym, że proponował on nowe koncepcje i mechanizmy, które następnie były wdrażane w innych systemach programowania. Traktowano go zatem bardziej jako język eksperymentalny niż stricte komercyjny. Główne cechy języka Smalltalk Wysoka jednorodność i spójność w zastosowaniu podejścia obiektowego powodująca, że zbiór pojęć i operacji zawartych w języku nie jest liczny, Każdy komponent środowiska programowania, który jest adresowalny przez użytkownika, może mu być przedstawiony w sposób czytelny, ułatwiający analizą i manipulowanie nim, Smalltalk wyposażono w obiekty pełniące funkcje przypisane zwykle systemowi operacyjnemu, np. zarządzanie pamięcią operacyjną, system plików, edycję tekstów i obrazów graficznych, przydzielanie procesora. Smalltalk i C++ zajmują przeciwstawne pozycje w przestrzeni wszystkich języków obiektowych

C++ Język C++ jest ewolucyjnym rozszerzeniem języka C Język C++ zaprojektowano w celu uzyskania następujących jego własności: zachowania wysokiej efektywności i przenoszalności języka C, pełnej zgodności z językiem C, likwidacji wad języka C, w szczególności słabej kontroli typów danych, wyposażenia języka w nowoczesne mechanizmy ukrywania danych. C++ powstał w Bell Labs w połowie 1980 - Bjarne Stroustrup C++ dodaje do C koncepcję klasy - mechanizm, który pozwala wprowadzać nowe typy danych definiowane przez użytkownika abstract data types - ADT. W konsekwencji pozwala to na object oriented programming OOP. C++ is an improved C C is a machine level, while C++ is a problem level klasy funkcje składowe, dziedziczenie przeciążanie funkcji i operatorów mniejszy związek z preprocesorem, nowe biblioteki we-wy i nowe operatory kontrola widzialności i dostępu (private is hidden and not accessible) konwersja typów dla argumentów funkcji przekazywanych przez wartość

Przykład PIERWSZY // - nowy komentarz na jedną linię - /* */ dalej dostępne <iostream.h> - nowa biblioteka we-wy cout - nazwa standard output stream, << dwuargumentowy operator przekazujący drugi argument do strumienia - put to operator #include <iostream.h> // ilustracja C++ void main(void) { cout << " C++ is an improved C.\n "; } #include <iostream.h> // ilustracja C++ void main(void) { cout << " C++ is an improved C. " << " \n"; } << ma nowe znaczenie, zawsze jest wykorzystywany w kontekście z cout

Elementy składni języka C - Nazwy Nazwy mają: dane, funkcje, etykiety, etc. Ala = ma(_kota); Nazwy tworzy się z liter, cyfr oraz znaku podkreślenia. Dopuszczalne nazwy zmiennych: Cx_1, a_1_2, Ala_ma_kota, Liczba_zmiennych xyz, xYz, XyZ Język C prawie wszędzie odróżnia małe litery od dużych. Wszystkie wymienione powyżej nazwy są różne. Ograniczenia: Pierwszy znak nie może być cyfrą Pierwszy znak może być znakiem podkreślenia ale po początkowych znakach podkreślenia znowu nie może być wpierw cyfra Nazwa zmiennej (identifier) może mieć dowolną długość. Język C odróżnia zmienne po określonej liczbie pierwszych znaków (w produktach Borlanda jest to standardowo 32 - identifier length) Nazwa nie może być słowem kluczowym języka

Składnia języka C++ – Słowa kluczowe asm auto break case catch char class const continue default delete do double else enum extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch template this throw try typedef union unsigned virtual void volatile while Borland 5.x Razem 48 słów kluczowych 17 słów kluczowych charakterystycznych dla C++ Zbiór słów kluczowych języka C++ jest nadzbiorem zbioru słów kluczowych języka C

Język C++ – Typy wbudowane Podstawowe typy danych char int float double Kwalifikatory short long signed unsigned

Język C – Operatory Operatory wymienione w jednym wierszu mają ten sam priorytet. Wiersze tabeli ustawione są według malejącego priorytetu. Operator jest lewostronnie (prawostronnie) łączny, jeżeli w wyrażeniu zawierającym co najmniej dwa takie operatory na tym samym poziomie struktury nawiasowej najpierw jest wykonywany operator lewy (prawy). W języku C nie określa się kolejności obliczania argumentów operatora ani kolejności wyznaczania argumentów funkcji. Lp. Operator Łączność 15 () [] -> . L 14 ! ~ ++ -- - * & sizeof P 13 * / % 12 + - 11 << >> 10 < <= > >= 9 == != 8 & 7 ^ 6 | 5 && 4 || 3 ?: 2 = += itp. 1 ,

Język C++ – Operatory Symbol Nazwa Zastosowanie 17 :: określenie zakresu nazwa_klasy::składnik L nazwa globalna ::nazwa_globalna P 16 -> wybranie składnika wskaźnik->składnik [ ] element tablicy wskaźnik[wyrażenie] ( ) wywołanie funkcji funkcja(lista_argumentów) nawias w wyrażeniach (wyrażenie) 15 sizeof rozmiar obiektu sizeof(wyrażenie) rozmiar typu sizeof(typ) ++ post inkrementacja lwartość ++ pre inkrementacja ++ lwartość -- post dekrementacja lwartość -- pre dekrementacja -- lwartość ~ dopełnienie do 2 ~ wyrażenie ! negacja ! wyrażenie

Język C++ – Operatory c.d. 1 Symbol Nazwa Zastosowanie 15 - jednoargumentowy minus - wyrażenie P cd + jednoargumentowy plus + wyrażenie & adres czegoś & lwartość * odniesienie się wskaźnikiem * wyrażenie new kreuj (rezerwuj) new typ delete zlikwiduj (anuluj rezerwację) delete wskaźnik delete[] zlikwiduj wektor delete [ ] wskaźnik ( ) rzutowanie (konwersja typu) (typ)wyrażenie 14 Wybór składnika wskaźnikiem: L .* - i nazwą obiektu obiekt.*wsk_do_składn. ->* - i wskaźnikiem do obiektu wsk ->*wsk do składn. 13 mnożenie wyraż *wyraż / dzielenie wyraż /wyraż % modulo (reszta) wyraż %wyraż

Język C++ – Operatory c.d. 2 Symbol Nazwa Zastosowanie 12 + dodaj (plus) wyraż + wyraż L - odejmij (minus) wyraż - wyraż 11 << przesunięcie w lewo lwartość << wyraż >> przesunięcie w prawo lwartość >> wyraż 10 < mniejsze niż wyraż < wyraż <= mniejsze lub równe wyraż <= wyraż > większe od wyraż > wyraż >= większe lub równe wyraż >= wyraż 9 == równe wyraż == wyraż != nie równe wyraż != wyraż 8 & iloczyn bitowy wyraż & wyraż 7 ^ bitowa różnica symetryczna wyraż ^ wyraż 6 | bitowa suma wyraż I wyraż 5 && koniunkcja wyraż && wyraż

Język C++ – Operatory c.d. 3 Symbol Nazwa Zastosowanie 4 || alternatywa wyraż I I wyraż L 3 ?: arytmetyczne if wyraż ? wyraż : wyraż 2 = zwykłe przypisanie lwartość = wyraż P *= mnóż i przypisz lwartość *= wyraż /= dziel i przypisz lwartość /= wyraż %= modulo i przypisz lwartość %= wyraż += dodaj i przypisz lwartość += wyraż -= odejmij i przypisz lwartość -= wyraż <<= przesuń w lewo i przypisz lwartość «= wyraż >>= przesuń w prawo i przypisz lwartość »= wyraż &= koniunkcja i przypisanie lwartość &= wyraż |= alternatywa i przypisanie lwartość I = wyraż ^= exclusive or i przypisanie lwartość ^= wyraż 1 , przecinek wyraż , wyraż