OBIEKTY PHP. G. Panuś

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

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

Kurs WWW. Paweł Rajba.

PHP 5 język obiektowy

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

Wykład 8: klasy cz. 4

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

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

Enkapsulacja, dziedziczenie, polimorfizm

10. Programowanie obiektowe w PHP5

Programowanie obiektowe

Materiały do zajęć VII

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

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

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

Rozdział 4 KLASY, OBIEKTY, METODY

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

Pola i metody statyczne. Klasy zawierające pola i metody statyczne

Dziedziczenie. Ogólna postać dziedziczenia klas:

Dziedziczenie jednobazowe, poliformizm

Laboratorium 1 - Programowanie proceduralne i obiektowe

Wykład 4: Klasy i Metody

Podstawy programowania III

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

Definiowanie własnych klas

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

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

Programowanie komputerowe. Zajęcia 7

Wykład 5: Klasy cz. 3

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

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

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

PROGRAMOWANIE OBIEKTOWE W C++ cz. 2. Dziedziczenie, operacje wej cia-wyj cia, przeładowanie operatorów.

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

PARADYGMATY PROGRAMOWANIA Wykład 2

Programowanie obiektowe

Instrukcja 3 PROGRAMOWANIE OBIEKTOWE

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

Programowanie obiektowe, wykład nr 7. Przegląd typów strukturalnych - klasy i obiekty - c.d.

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Programowanie obiektowe

TEMAT : KLASY DZIEDZICZENIE

Technologie i usługi internetowe cz. 2

Definicje klas i obiektów. Tomasz Borzyszkowski

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

PROE wykład 2 operacje na wskaźnikach. dr inż. Jacek Naruniec

Kompozycja i dziedziczenie klas

dr inż. Jarosław Forenc

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

Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),

Aplikacje w środowisku Java

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

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

Programowanie Obiektowo Zorientowane w języku C++ Klasy, pola, metody

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 12

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

Programowanie Obiektowe i C++

Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:

Programowanie obiektowe. Wykład 4

Programowanie obiektowe

Polimorfizm, metody wirtualne i klasy abstrakcyjne

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

Do czego służą klasy?

Wstęp do programowania obiektowego. Wykład 2

Operator przypisania. Jest czym innym niż konstruktor kopiujący!

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

PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.

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

1. Klasy i obiekty. 2. Definicja klasy

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

1 Atrybuty i metody klasowe

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

Technologie obiektowe

Konstruktor kopiujacy

PARADYGMATY PROGRAMOWANIA Wykład 4

Język programowania. Andrzej Bobyk

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

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

KLASY cz.1. Dorota Pylak

Język C++ Programowanie obiektowe

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

Definiowanie własnych klas

Dokumentacja do API Javy.

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

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Programowanie, część I

Wykład 5: Więcej o Klasach i Metodach

Programowanie obiektowe

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Klasy i obiekty cz I Klasy, obiekty, podstawy używania obiektów

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy PRAWA PRZYJACIÓŁ KLASY. Dostęp z zewnątrz: Dostęp z wewnątrz:

Deklaracja struktury w C++

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

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory.

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

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

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

Transkrypt:

OBIEKTY PHP G. Panuś

Podstawowym elementem programowania obiektowego jest klasa Klasa zawiera Zmienne właściwości Klasa Funkcje metody

Definiowanie klasy Do definiowania klasy służy polecenie class class nazwa_klasy { //definicja (składowa) klasy Po słowie kluczowym class podajemy nazwę klasy. Nazwa klasy może zawierad litery (w tym polskie znaki), cyfry oraz znaki podkreślenia, ale nie może zaczynad się od cyfry. Jako nazwy klasy nie można używad słów kluczowych php Zaś pomiędzy nawiasami umieszczamy składowe klasy. Składowymi klasy są: stałe właściwości (nazwane także polami zmiennymi klasy) metody Kolejnośd definicji klasy może byd dowolna, warto jednak stosowad przyjętą konwencję najpierw stałe potem zmienne i na koocu metody

Właściwości oraz metody klasy poprzedzamy specyfikatorem dostępu. Dostępnymi specyfikatorami są: private public procected private public Procected Składowe klasy są widoczne tylko wewnątrz metod danej klasy Składowe klasy są widoczne wszędzie zarówno w metodach klasy jak i na zewnątrz Składowe chronione dostępne są w danej klasie jak i jej potomkach

//utwórzmy klasę osoba zawierającą 2 prywatne właściwości imię i nazwisko 2 publiczne właściwości wiek oraz płed class Osoba { private $nazwisko; private $imie; public $plec ='kobieta'; public $wiek =16; //wartościami pól właściwości i mogą byd stałe public $plec ='kobieta'; public $wiek =16;nie mogą byd wyrażenia np. $wiek = 3*16;

Definiujemy metody Definicja metody nie różni się od definicji funkcji. Należy pamiętad, że -podobnie jak zwykłe funkcje metody nie mogą byd przeładowywane. Innymi słowy nazwy metod w obrębie klasy musza byd unikalne. W przypadku metod specyfikator dostępu może byd pomięty class Osoba {. function setimie($i) { $this->imie = $i;

Czym różni się klasa od obiektu Aby zrozumied różnicę pomiędzy klasą a obiektem, możemy spojrzed na te dwa pojęcia np. Mamy dajmy na to osobę. Osoby są różne, mają różny kolor włosów, wysokośd, imiona, wiek, płed itd. Taka właśnie osoba jest klasą - wiemy jakie ma cechyparametry, lecz nie znamy ich wartości. Spośród wielu osób wybieramy sobie jedną, Chcemy by taka osoba przykładowo była kobietą o kolorze włosów czarnych. Ta właśnie osoba jest obiektem - posiada nadane jakieś wartości i możemy wykonywad na nim dalsze operacje.

Obiekt jest pojedynczym egzemplarzem klasy Klasa definiuje zbiór obiektów Obiekty-> każdy jest unikalny, ma właściwości i działania Obiekt 1 Obiekt 2 Obiekt 3

Definiujemy obiekt Obiekt jest zmienną. Obiekt tworzymy nieco inaczej niż zmienne. W przypadku zmiennej wystarczyła instrukcja przypisania $imie= Jan ; W przypadku obiektów stosujemy operator new, po którym podajemy nazwę klasy My utworzyliśmy klasę Osoba, więc obiekt przyjmie postad $tmp = new Osoba; $o jest instancją czy egzemplarzem klasy osoba

Do składowych obiektu odwołujemy się za pomocą operatora -> Jeśli klasa Osoba ma pola $wiek, $plec oraz metody setimie(); to po utworzeniu obiektu $tmp możemy przypisad wartości do tych pół i wywoład metody $tmp = new Osoba; $tmp->wiek=45; $tmp ->setimie( Jan ); W ten sposób uzyskujemy dostęp do właściwości oraz metod publicznych. Dostęp do składowych prywatnych jest niemożliwy

$this odwołania do zmiennych składowych $this nazwana jest pseudozmienną Dzięki niej możemy wewnątrz metody setimie operowad dowolnymi składowymi zarówno metodami jak i polami $this reprezentuje obiekt w zasięgu którego został wywołany. Dzięki temu klasa nie musi znad swojej nazwy, aby jej metody mogły odwoływad się do wewnętrznych zmiennych składowych swojej klasy public function setimie($i){ $this->imie=$i; $this->wiek=16; $this ->print();

Konstruktor Po utworzeniu obiektu jego właściwości nie zawierają i nie zwracają żadnych wartości. Jeśli mamy sytuację, że po utworzeniu obiektu właściwości powinny mied ustalone wartości, to można zastosowad specjalny mechanizm nazwany konstruktorem Głównym zadaniem konstruktora jest inicjalizacja właściwości obiektu

Definiowanie konstruktora Polega na utworzeniu w kodzie klasy metody o nazwie _construct, w postaci: Function _construct(){ //treśd konstruktora //składowe klasy Konstruktor wywoływany jest automatycznie po utworzeniu obiektu klasy

Destruktor Jest przeciwieostwem konstruktora. Jest to specjalna metoda każdej klasy, wywoływana gdy obiekt jest usuwany pamięci. Definiowanie polega na utworzeniu w kodzie klasy/metody o nazwie destruct class nazwa_klasy { function desctruct { //treśd destruktora Składowe klasy

Dziedziczenie Dziedziczenie w php jest realizowane przez dodanie w definicji nowej klasy opartej na słowie extends class klasa_potomna extends klasa_bazowa