Programowanie obiektowe. Obiekt Klasa Składnia klasy: Interfejsy Składnia interfejsu: Metody Składnia instrukcji Sub: Składnia instrukcji function:

Podobne dokumenty
Programowanie obiektowe w VB cz 2

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

Klasa bazowa i klasy potomne - doskonalenie umiejtnoci projektowania i wykorzystania klas (45 min)

Materiały do zajęć VII

Kurs WWW. Paweł Rajba.

Programowanie obiektowe w VB

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

Programowanie Obiektowe w Visual Basic.NET Konrad Lipiński

Klasy abstrakcyjne, interfejsy i polimorfizm

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Programowanie obiektowe

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

VB.NET. Almanach IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE

PHP 5 język obiektowy

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

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

Podstawy Programowania Obiektowego

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Programowanie obiektowe

Klasy cd. Struktury Interfejsy Wyjątki

Programowanie obiektowe

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

Wykład 5 Okna MDI i SDI, dziedziczenie

Programowanie obiektowe

Nazewnictwo zmiennych

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

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

Dokumentacja do API Javy.

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

Ten odcinek Akademii PC Kuriera poświęcony zostanie tworzeniu i wykorzystaniu funkcji i procedur w języku Visual Basic.NET.

.NET Klasy, obiekty. ciąg dalszy

Wykład 8: klasy cz. 4

Programowanie w Sieci Internet Blok 2 - PHP. Kraków, 09 listopada 2012 mgr Piotr Rytko Wydział Matematyki i Informatyki

Do czego służą klasy?

Materiały do laboratorium MS ACCESS BASIC

Programowanie obiektowe

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

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

Programowanie Komputerów

Dziedziczenie. dr Jarosław Skaruz

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

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

TEMAT : KLASY DZIEDZICZENIE

Technologie obiektowe

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

Definiowanie własnych klas

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

Pakiety i interfejsy. Tomasz Borzyszkowski

Co to jest klasa? Z programistycznego punktu widzenia klasa stanowi typ danych, który odwzorowuje wspólne cechy jakiegoś obiektu.

Zmienne i stałe w PHP

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

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

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

Programowanie obiektowe - 1.

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

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Definicje klas i obiektów. Tomasz Borzyszkowski

Wykład 3 Składnia języka C# (cz. 2)

KLASY cz.1. Dorota Pylak

Java Język programowania

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

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

Podstawy programowania. Programowanie obiektowe

Programowanie obiektowe

Aplikacje w środowisku Java

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

Enkapsulacja, dziedziczenie, polimorfizm

Multimedia JAVA. Historia

Dziedziczenie. Tomasz Borzyszkowski

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

Janusz Górczyński. Wprowadzenie do programowania obiektowego w VB.NET

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016

Zaawansowane programowanie w języku C++ Programowanie obiektowe

Class1.vb. _Dlugosc_stopnia = value End Set End Property Public Property Faza As Single Get Return _Faza End Get

Polimorfizm. dr Jarosław Skaruz

Instrukcja laboratoryjna nr.4

Diagramy klas. dr Jarosław Skaruz

Laboratorium 6 DIAGRAM KLAS (Class Diagram)

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

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

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

Do czego służą klasy?

Dziedziczenie jednobazowe, poliformizm

Wykład 9: Polimorfizm i klasy wirtualne

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

Wstęp do programowania obiektowego. Wykład 2

Programowanie obiektowe

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Języki i techniki programowania Ćwiczenia 3 Dziedziczenie

Aplikacje w środowisku Java

PARADYGMATY PROGRAMOWANIA Wykład 4

Programowanie w Internecie. Java

Dziedziczenie. Streszczenie Celem wykładu jest omówienie tematyki dziedziczenia klas. Czas wykładu 45 minut.

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

Programowanie w środowiskach graficznych. Wykład 3 Język C#

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

Transkrypt:

Programowanie obiektowe. Obiekt Obiekt to dowolny element, który możemy wydzielić i którym możemy manipulować. W terminologii informatycznej obiekt to samodzielna jednostka zawierająca zarówno dane, jak i kod zorganizowany w postaci podprogramów i funkcji, umożliwiający dostęp do tych danych lub ich modyfikację. Klasa Klasa definiuje funkcję obiektu, jego cechy charakterystyczne i tożsamość. Klasę można przyrównać do szablonu lub wzorca, według którego budowany jest obiekt. Składnia klasy: [Mustinherit Notlnheritable] Class NazwaKlasy [Inherits NazwaKlasyBazowej] [Implements InterfejsA, InterfejsB, InterfejsN} [kod klasy] End Class Interfejsy Interfejs jest niczym klasa, która posiada modyfikator Mustinherit i której każda ze składowych ma modyfikator MustOverride. Wewnątrz interfejsu można zadeklarować metody, właściwości oraz zdarzenia. Nazwa każdego interfejsu rozpoczyna się od litery I. Składnia interfejsu: Interface NazwaInterfejsu [Inherits InterfejsA, InterfejsB, InterfejsN} [kod interfejsu] End Interface Metody Metoda to zestaw instrukcji wykonywanych jako całość. Metoda może zwracać jedną wartość lub tablicę (zbiór) wartości (Funkction). Można również utworzyć metodę, która nie zwraca żadnej wartości (Sub). Składnia instrukcji Sub: Sub NazwaMetody() [Implements Interfejs.Składowa] [Exit Sub] Składnia instrukcji function: Sub NazwaMetody() [Implements Interfejs.Składowa] [Exit Function] 1

Zmienne Zmienna nazywana również polem służy do przechowywania wartości. W czasie działania programu wartość przechowywana w zmiennej może się zmieniać, chyba, że zmienna posiada modyfikator ReadOnly. Składnia instrukcji Dim: [Shared] [ReadOnly] [Public I Pnvate Protected Friend Protected Friend] Dim NazwaZmiennej As TypDanych [= WartośćPoczątkowa] Jeżeli przed instrukcją Dim umieścisz modyfikator, edytor kodu usuwa instrukcję Dim. Aby zadeklarować zmienną wewnątrz metody, nie należy używać modyfikatorów, a tylko instrukcji Dim. Zmienna zadeklarowana wewnątrz metody jest dostępna tylko wewnątrz niej. Składowa instancyjna Aby uzyskać dostęp do składowej instancyjnej, najpierw należy utworzyć instancję (egzemplarz) klasy, która ją udostępnia. Przykład udostępniania: Dim [WithEvents] InstancjaKlasy As NazwaKlasy = New NazwaKlasy() InstancjaKlasy.SkładowaInstancyjna Składowa współdzielona Składowa współdzielona nie jest związana z konkretną instancją (egzemplarzem) klasy. Przykład udostępniania: NazwaKlasy.SkładowaWspółdzielona Przykład definiowania: Public Shared Sub SkladowaWspóldzielona() Własności Właściwość, podobnie jak metoda, to zestaw instrukcji wykonywanych jako całość. Metodę można traktować jako akcję, natomiast właściwość jako atrybut (cechę) klasy. Składnia instrukcji Property: [WriteOnly ReadOnly] Property NazwaWlaściwości() As Typowanych [Implements Interfejs.Składowa] Set(ByVal wartość As TypDanych) [kod właściwości] End Set Get [kod właściwości] End Get End Property Zdarzenia i delegaty Zdarzenie to akcja, na skutek której obiekt wysyła określoną informację. Zdarzenia mogą być generowane przez działania użytkownika lub uruchamiane przez logikę programu. Delegaty to obiekty typu referencyjnego, który stanowi interfejs metody o odpowiedniej sygnaturze oraz zwracanym typie. 2

Stałe Stała służy do reprezentowania wartości. Stała, od początku do końca działania programu, reprezentuje zawsze tę samą wartość [Public Priivate Protected Friend Protected Friend] Const NazwaStałej As TypDanych = Wartość Enumaracje Enumeracja to zbiór powiąnych ze sobą stałych. [Public Priivate Protected Friend Protected Friend] Enum NazwaEnumeracji As TypDanych Elementl [= Wartości1] Element2 [= Wartości2]... ElementN [= WartościN] End Enum Tablice Tablica służy do przechowywania zbioru wartości. To, jakie wartości można przechowywać w tablicy, zależy od jej typu danych. Tablica jednowymiarowa Dim NazwaTablicy As TypDanych() NazwaTablicy = New TypDanych(IndeksGórny) {} Tablica wielowymiarową Dim NazwaTablicy As TypDanych (,) NazwaTablicy = New TypDanych(IGWP, IGWD) {} 3

Modyfikatory instrukcji Modyfikator Metoda Własności Zmienna Klasy Opis Overload V V Właściwość/Metoda posiada więcej niż jedną wersję. Modyfikator Overloads jest opcjonalny można utworzyć właściwość/metodę o wielu wersjach bez korzystania z tego modyfikatora. Shadows V V V V Właściwość/Metoda/Zmienna/Klasa klasy potomnej zasłania składową, która ma identyczną nazwę, zdefiniowaną w klasie bazowej. Aby zasłonić właściwość/metodę/zmienną nową właściwością/metodą/zmienną, zestaw parametrów i typ danych nowej właściwości/metody może się różnić od zestawu parametrów i typu danych właściwości zasłanianej. Shared V V V Właściwość/Metoda/Zmienna współdzielona przez wszystkie instancje klasy. Overrides V V Właściwość/Metoda klasy potomnej zmienia implementację właściwości/metody klasy bazowej, Jedna i druga właściwość/metoda ma taką samą nazwę. Aby zmienić właściwość/metodę, liczba parametrów, typy danych parametrów oraz typ danych nowej właściwości/metody musi zgadzać się z liczbą parametrów, typami danych parametrów oraz typami danych właściwości/metody zmienianej. Overridable V V Właściwość/Metoda może zostać zmieniona przez właściwość/metodę, która ma identyczną nazwę, zdefiniowaną w klasie potomnej. NotOverridable V V Właściwość/Metoda nie może zostać zmieniona przez właściwość/metodę, która ma identyczną nazwę, zdefiniowaną w klasie potomnej MustOverr1de V V Właściwość/Metoda oprócz nagłówka nie posiada kodu (nie jest zaimplementowana). Właściwość/Metoda ta musi zostać zaimplementowana w klasie potomnej, aby ta klasa mogła działać prawidłowo. WriteOnly V V Wartość właściwości można zmieniać, ale nie można jej odczytywać. ReadOnly V Wartość właściwości/zmiennej można odczytywać, ale nie można jej zmieniać Mustinherit V Aby uzyskać dostęp do składowych instancyjnych klasy, trzeba najpierw utworzyć klasę, która ją dziedziczy. Nie można utworzyć instancji klasy mającej modyfikator Mustinherit. Notinheritable V Klasa nie może być dziedziczona, co oznacza, że nie można jej używacywać jako klasy bazowej dla innych klas. Modyfikatory dostępu Modyfikator Metoda Zmienna Własność Opis Public Private Protected Friend Protected Friend V V V Właściwość/Metoda/Zmienna jest dostępna bez żadnych ograniczeń. V V V Właściwość/Metoda/Zmienna jest dostępna tylko wewnątrz klasy, w której została utworzona. V V V Właściwość/Metoda/Zmienna jest dostępna wewnątrz klasy, w której została utworzona, oraz wewnątrz klasy potomnej. V V V Właściwość/Metoda/Zmienna jest dostępna tylko wewnątrz programu, w którym została utworzona. V V V Właściwość/Metoda/Zmienna jest dostępna z ograniczeniami wynikającymi z połączenia modyfikatorów Protected i Friend. 4

Instrukcje konfiguracyjne Option Compare Binary -sprawia, że tekst jest porównywany metodą binarną co oznacza m.in., że Visual Basic.NET odróżnia małe litery od wielkich. Option Explicite On sprawia, że Visual Basic.NET sprawdza, czy każda zmienna przed użyciem została zadeklarowana. Dzięki deklarowaniu oprawia się czytelność kodu. Option Stricte On sprawia, że Visual Basic.NET sprawdza, czy wszystkie zmienne i parametry zostały zadeklarowane z podaniem ich typów. Podstawy Metoda Main, punkt startowy programu, korzysta z bibliotek System oraz System. Windows.Forms. Przykład: Public Shared Sub Main() Public Shared Sub Main(ByVal P As String()) Public Shared Function MainO As Integer Public Shared Function Main(ByVal P As StringO) As Integer Metoda MyBase, umożliwia dostęp do klasy bazowej z klasy potomnej 5