Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/



Podobne dokumenty
Programowanie obiektowe - 1.

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

Podstawy Programowania Obiektowego

Technologie i usługi internetowe cz. 2

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

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Typy klasowe (klasy) 1. Programowanie obiektowe. 2. Założenia paradygmatu obiektowego:

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

Podstawy programowania. Wykład PASCAL. Wstęp do programowania obiektowego. dr Artur Bartoszewski - Podstawy programowania, sem.

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

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Wykład 8: klasy cz. 4

Modelowanie i Programowanie Obiektowe

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

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

Podstawy Języka Java

Enkapsulacja, dziedziczenie, polimorfizm

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura

Technologie obiektowe

Laboratorium 1 - Programowanie proceduralne i obiektowe

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

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

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

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

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

Wykład 9: Polimorfizm i klasy wirtualne

Programowanie obiektowe

Delphi podstawy programowania. Środowisko Delphi

Programowanie obiektowe

Wstęp do programowania obiektowego. Wykład 2

Elektrotechnika I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) kierunkowy (podstawowy / kierunkowy / inny HES)

Materiały do zajęć VII

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

Podstawy Programowania 2

Programowanie obiektowe

Języki i paradygmaty programowania doc. dr inż. Tadeusz Jeleniewski

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

Wykład 5: Klasy cz. 3

PHP 5 język obiektowy

Mechanizm dziedziczenia

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

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

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

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

Historia modeli programowania

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

Wprowadzenie do programowanie obiektowego w języku C++

Zaawansowane programowanie w języku C++ Programowanie obiektowe

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

Semestr letni Brak Tak

Dziedziczenie jednobazowe, poliformizm

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

Podstawy programowania III

Wykład 9: Metody wirtualne i polimorfizm

Narzędzia RAD (wykład 1)

Multimedia JAVA. Historia

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Wprowadzenie do systemów informacyjnych

Języki i paradygmaty programowania - 1

Języki i paradygmaty programowania

UML w Visual Studio. Michał Ciećwierz

KARTA KURSU. Programowanie obiektowe

Programowanie MorphX Ax

private - oznacza, że wszystkie elementy klasy bazowej zmieniają się w prywatne.

Programowanie obiektowe

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

Różne właściwości. Różne właściwości. Różne właściwości. C++ - klasy. C++ - klasy C++ - KLASY

PARADYGMATY PROGRAMOWANIA Wykład 2

Dziedziczenie. dr Jarosław Skaruz

Król Łukasz Nr albumu:

Podstawy Programowania Programowanie Obiektowe

TEMAT : KLASY DZIEDZICZENIE

Definiowanie własnych klas

Programowanie obiektowe

Programowanie Obiektowe i C++

Języki Programowania Obiektowego

Oracle PL/SQL. Paweł Rajba.

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

Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne

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

Programowanie obiektowe

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

kierunkowy (podstawowy / kierunkowy / inny HES) nieobowiązkowy (obowiązkowy / nieobowiązkowy) polski semestr V zimowy i letni (semestr zimowy / letni)

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Opis. Wykład: 30 Laboratorium: 30

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Do czego służą klasy?

OBIEKTY PHP. G. Panuś

Dziedziczenie. Ogólna postać dziedziczenia klas:

Podstawy programowania. Wprowadzenie

Początki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8

Instrukcja do pracowni specjalistycznej z przedmiotu. Obiektowe programowanie aplikacji

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

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

dr inż. Jarosław Forenc

Rok akademicki: 2012/2013 Kod: ZIE s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Wzorce projektowe. dr inż. Marcin Pietroo

Transkrypt:

Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/

Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego. Helion, Gliwice 2003 S. Teixeira, X. Pacheco: Delphi 6. Vademecum profesjonalisty (t. 1+2). Helion, Gliwice 2002 A. Daniluk: ABC Delphi 7. Helion, Gliwice 2003

Literatura (c.d.) A. Marciniak: Delphi 5 Professional. Object Pascal. Nakom, Poznań 2000 A. Boduch: Delphi 8.NET. Kompendium programisty. Helion, Gliwice 2004 M. Cantu: Delphi 6. Praktyka programowania (t. 1+2). Mikom, Warszawa 2002 M. Cantu: Delphi 7. Mikom, Warszawa 2004

Paradygmaty programowania programowanie proceduralne programowanie strukturalne programowanie obiektowe programowanie zdarzeniowe programowanie wizualne programowanie komponentowe

Tradycyjne paradygmaty programowania Programowanie proceduralne dzielenie kodu na procedury, czyli fragmenty wykonujące ściśle określone operacje Programowanie strukturalne hierarchiczne dzielenie kodu na moduły, które komunikują się jedynie poprzez dobrze określone interfejsy (rozszerzenie koncepcji programowania proceduralnego)

Programowanie obiektowe (OOP) metodologia tworzenia programów komputerowych za pomocą obiektów elementów łączących stan (dane, tzw. pola) i zachowanie (procedury, tzw. metody) program komputerowy zbiór obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań dane i procedury są ze sobą bezpośrednio związane ułatwia to pisanie, konserwację i wielokrotne użycie programów lub ich fragmentów

Założenia paradygmatu obiektowego Abstrakcja pewne klasy są wzorem dla innych klas, które się z niej wywodzą, ale same nie są wykorzystywane do tworzenia obiektów. Enkapsulacja (hermetyzacja) grupowanie danych i metod w klasy w połączeniu z ukrywaniem szczegółów implementacji Polimorfizm sprawdzanie rzeczywistego typu obiektu w trakcie działania programu Dziedziczenie tworzenie nowych klas na bazie klas już istniejących

Programowanie zdarzeniowe program jest cały czas bombardowany zdarzeniami (ang. events), na które musi odpowiedzieć przepływ kontroli w programie jest całkowicie niemożliwy do przewidzenia z góry dominujący typ programowania GUI zdarzenia to naciśnięcia myszy, klawiszy, żądania odświeżenia przez system okienkowy, różne zdarzenia sieciowe itp.

Programowanie wizualne metoda tworzenia programu za pomocą narzędzi umożliwiających wybór standardowych elementów z menu i automatyczną generację kodu źródłowego systemy programowania wizualnego: Borland Delphi Borland C++ Builder Microsoft Visual Studio (.NET) biblioteki klas: OWL (Borland) MFC (Microsoft) ATL (Microsoft)

Programowanie komponentowe stosowanie prefabrykatów programowych, nadających się do wielokrotnego i różnorodnego użytku, zwanych komponentami komponenty tworzy się za pomocą metod obiektowych służą one do budowy wielkich systemów oprogramowania technologie: JavaBeans, DCOM, ActiveX, CORBA, IIOP

Klasy Definicje obiektów składających się z pól i metod (funkcji i procedur) współdziałających w celu wykonania określonego zadania lub funkcji Elementy klas: Kategorie widoczności elementów klasy Konstruktory Destruktory Pola Metody (procedury i funkcje) Ukryty, specjalny wskaźnik o nazwie Self

Poziomy dostępu do składników klasy Klasy posiadają 4 poziomy dostępu do swoich składników: Private Public Protected Published

Konstruktory i destruktory Konstruktorjest specjalną metodą używaną przy tworzeniu obiektu danej klasy Destruktor jest specjalną metodą wywoływaną automatycznie tuż przed zakończeniem życia obiektu

Pola i metody Pola to zmienne umieszczone w klasie przy jej deklarowaniu (podobnie jak w typach rekordowych) Zachowują się jak zmienne lokalne dla obiektu Można się do nich odwoływać z poziomu wszystkich metod danej klasy Ich widzialność na zewnątrz klasy zależy od tego, czy umieszczono je w sekcji private, public czy protected

Metody klasy Metody to funkcje i procedury będące składnikami klasy Są lokalne w danej klasie i nie istnieją poza nią Mogą być wywoływane z wewnątrz klasy lub poprzez obiekt danej klasy Mają dostęp do wszystkich pól: prywatnych, publicznych i chronionych Mogą być także prywatne, publiczne i chronione

Reguły hermetyzacji (1) Część prywatna (private) klasy zawiera szczegóły implementacyjne znane tylko twórcy klasy pola i metody prywatne nie są widziane na zewnątrz klasy (nie można się do nich odwoływać z funkcji i procedur nie będących składnikami klasy) Część publiczna (public) klasy zawiera interfejs, za pomocą którego świat zewnętrzny komunikuje się z klasą do pól i metod publicznych można odwoływać się swobodnie z każdego miejsca programu Pola i metody chronione (protected) dostępne są dla klas będących potomkami klasy podstawowej

Reguły hermetyzacji (2) Metody publiczne tworzą interfejs użytkownika poprzez nie następuje interakcja klasy ze światem zewnętrznym Metody prywatne wykonują czarną robotę bezpośrednie ich wywoływanie przez użytkownika nie jest konieczne, a czasem wręcz niepożądane Metody chronione nie mogą być wywoływane z zewnątrz, a tylko z klas potomnych danej klasy

Wskaźnik Self Wszystkie klasy (a tym samym wszystkie obiekty) posiadają ukryte pole o nazwie Self jest to wskaźnik do tego właśnie obiektu (obiekt zawiera wskaźnik na samego siebie) Pozwala metodom uzyskać informację, na którym obiekcie (egzemplarzu klasy) mają działać

Dziedziczenie Budowanie nowych klas na bazie już istniejących Klasa, z której dziedziczą nowe klasy, nazywa się klasą bazową, klasą macierzystą albo przodkiem, natomiast klasa, która dziedziczy cechy klasy bazowej, nazywa się klasą pochodną lub klasą potomną Klasa potomna dziedziczy od swojego przodka wszystkie jego pola i metody