JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ ]

Wielkość: px
Rozpocząć pokaz od strony:

Download "JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ ]"

Transkrypt

1 JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ]

2 PROGRAMOWANIE FUNKCYJNE I OBIEKTOWE W PYTHONIE 2

3 PROGRAMOWANIE FUNKCYJNE 3

4 Źródła Programowanie funkcyjne (wykład MIMUW) =Programowanie_funkcyjne M.L. Scott, Programming Language Pragmatics, Morgan Kaufmann, 3 ed., 2009 Charming Python installments 4

5 Paradygmaty programowania Proceduralne/Imperatywne operacje wykonywane na danych (operacje zmieniają stan programu) Obiektowe opis interakcji pomiędzy obiektami Funkcyjne program jako funkcja 5

6 Imperatywne vs. Funkcyjne Cecha Imperatywne Funkcyjne Konstrukcja algorytmu Jakie instrukcje wykonad (algorytm) i jak zmieniad stan programu Zmiana/Stan programu Ważny Nie istnieje Kolejnośd wykonywania Ważna Jakie transformacje danych są potrzebne Mało ważna Przepływ sterowania Pętle, warunki i funkcje Funkcje, rekurencja Podstawowe elementy języka Struktury danych, instancje klas Funkcje jako obiekty firstclass, kolekcje danych (listy) 6

7 Konstrukcje programowania funkcyjnego w Pythonie Funkcje jako obiekty podstawowe (tzw. first-class) lambda, przekazywanie funkcji jako argument Domknięcia (ang. Closures) funkcje związane z damymi Funkcje operujące na funkcjach (ang. high-order functions) Dekoratory forma opakowao (wrapperów) dla funkcji Iteratory i Generatory Listy jako podstawowa struktura danych (List Comprehensions) 7

8 Lambda Lambda proste, jednolinijkowe, anonimowe funkcje Mogą byd przekazywane tak jak zwykłąe funkcje nazwane Używane często jako funkcje w callback, list comprehesnsions, high-order functions return jest w nich domniemany (implicite) square = lambda x: x*x >>> square(9) 81 squares = map(lambda x: x*x, range(3)) >>> squares [0, 1, 4] 8

9 Domknięcie (Closure) Domknięcie to funkcja ze związanymi zmiennymi: składa się z funkcji, jej lokalnych zmiennych oraz referencji do zmiennych spoza zakresu (outer scope) Obiekty to metody związane z danymi na których działają; Domknięcia to dane dowiązane do funkcji # Zwraca funkcję opodatkowania daną stawką VAT def vat_taxer(rate): def taxer(amount): return amount * (float(rate) / 100) return taxer vat22 = vat_taxer(22) vat7 = vat_taxer(7) 9

10 Domknięcie przykład # zwraca funkcję mnożącą przez n def multiply_by(n): return lambda x: return x*n double = multiply_by(2) triple = multiply_by(3) >>> double(2) 4 >>> triple(4) 12 10

11 High-order functions 1 map zastosuj funkcję na każdym elemencie sekwencji: >> map(lambda x: x**2, range(1,5)) [1, 4, 9, 16] filter wybiera elementy spełniające warunek >> filter(lambda x: x%2==0, range(10)) [0, 2, 4, 6, 8] reduce redukuje elementy sekwencji do jednej wartości za pomocą funkcji: >> reduce(lambda x,y: x+y, [1, 2, 3, 4]) 10 11

12 High-order functions 2 zip zszywa kolejne elementy z sekwencji: >> zip(( a, b, c ), (1,2,3)) [( a,1), ( b,2), ( c,3)] all zwraca True, gdy wszystkie elementy są True: >> all((1, 2, alala )) True any zwraca True, gdy choś jeden element jest True: >> any((0, None, 1)) True 12

13 Dekoratory def my_decorator(fn): def wrapper(*args): print before invocation fn(*args) print after invocation return def hello_world(): print hello, world >>> hello_world() before invocation hello, world after invocation 13

14 Iteratory Iterator jest analogiem sekwencji ale z kilkoma różnicami: Często używamy funkcji, która tworzy kolejne elementy sekwencji (np. za pomocą Generatora) Elementy sekwencji są produkowane dopiero w momencie kiedy są potrzebne Iteratory mogą tworzyd sekwencje dowolnie długie (w odróżnieniu od sekwencji struktur danych ograniczonych pamięcią) Iterator to protokół (nie typ danych) na który składa się: Funkcji next() (w implementacji next ()) Raise StopIteration after last item 14

15 Generatory Generator funkcja działająca jako Iterator Każdy element jest zwracany za pomocą polecenia yield Zakooczenie przez: zakooczenie funkcji zwykłe return raise StopIteration 15

16 Generatory przykład def four(): x = 0 while x < 3: print("in generator, x =", x) yield x x += 1 >>> for i in four(): print(i) in generator, x = 0 0 in generator, x = 1 1 in generator, x =

17 Generatory wyrażenia Składniowo podobne do List Comprehensions Ewaluacja leniwa jeden element za jednym razem Mogą byd używane wszędzie, gdzie jest spodziewany Iterator # Przykład 1 it = (line.strip() for line in open('input.txt')) # Przykład 2 można ominąć nawiasy w wywołaniu funkcji func(line.strip() for line in open('input.txt')) 17

18 EX9 3 implementacje is_prime() # Implementacja imperatywna wersja 1 def is_prime(n): k = 2 while k < n: if n % k == 0: k += 1 return True return False # Implementacja funkcyjna wersja 2 def is_prime(n): return len(filter(lambda k: n%k==0, range(2,n))) == 0 # Implementacja funkcyjna wersja 3 def is_prime(n): return not any(n%k==0 for k in xrange(2,n)) 18

19 PROGRAMOWANIE OBIEKTOWE 19

20 Programowanie obiektowe Object-oriented programming (OOP) Klasy i obiekty: Obiekty są tworzone na podstawie definicji klas Pojedynczy obiekt jest nazywany instancją klasy Dane i operacje na nich (funkcje) tworzą obiekt Operacje/funkcje zawarte w klasie są nazywane metodami Dane/zmienne w klasie są nazywane atrybutami klasy Atrybuty tworzą stan instancji klasy (obiektu) 20

21 Definicja klasy class circle: def init (self, radius): self.radius = radius init jest inicjalizatorem obiektu self jest referencją do obiektu # utworzenie obiektu klasy circle >> c = circle(10) c < main.circle instance at 0x004A48A0> >> dir(c) [' doc ', ' init ', ' module ', 'radius'] 21

22 Przeszukiwanie: obiekt.atrybut Szuka pierwszego wystąpienia atrybutu w obiekcie lub we wszystkich klasach powyżej (z których dziedziczył) od dołu do góry i od lewej do prawej strony class C2: x = z = 2 class C3: w = z = 3 class C1(C2, C3): x = y = 1 I1 = C1() I2 = C1() 22

23 Metody specjalne klas METODA IMPLEMENTUJE WOŁANA DLA init Konstruktor obiektu X = Class(args) del Destruktor obiektu Usuwanie obiektu X add Operator + X + Y, X += Y jeśli nie iadd or Operator (bitowy OR) X Y, X = Y jeśli nie _ior repr, str Drukowanie, konwersja print(x), repr(x), str(x) call Wywołanie funkcji X(*args, **kargs) setattr Przypisanie atrybutu X.any = value delattr Skasowanie atrybutu del X.any getattribute Pobranie atrybutu X.any getattr Pobranie atrybutu X.undefined 23

24 Metody specjalne klas c.d. METODA IMPLEMENTUJE WOŁANA DLA getitem Indeksowanie, przecinanie, iteracja setitem Przypisanie indeksowane, przecinane delitem Usuwanie indeksowane, przecinane X[key], X[i:j], także dla pętli jeśli nie iter X[key] = value, X[i:j] = sequence del X[key], del X[i:j] len Długośd len(x), testowanie gdy nie bool bool Testy logiczne bool(x), ( nonzero w Py 2.6) lt, gt, le, ge, eq, ne Porównania X < Y, X > Y, X <= Y, X >= Y, X == Y, X!= Y ( cmp w Py 2.6) 24

25 Metody specjalne klas c.d. METODA IMPLEMENTUJE WOŁANA DLA iadd Operator dodawania w miejscu X += Y iter, next Iterator I=iter(X), next(i); dla pętli contains Tester przynależności item in X (dla iterowalnych) index Wartośd całkowitoliczbowa hex(x), bin(x), oct(x), O[X], O[X:] (zastpuje Py 2.x oct, hex ) enter, exit Menadżer kontekstu with with obj as var: get, set, delete Deskryptory atrybutów X.attr, X.attr = value, del X.attr new Tworzenie obiektu przed init 25

26 Atrybuty specjalne klas Wszystkie klasy posiadają następujące atrybuty: doc string dokumentacji class referencji do obiektu klasy (z każdej instancji) bases lista klas bazowych name nazwa klasy obiektu module nazwa modułu, w którym klasę zdefiniowano dict słownik będący przestrzenią nazw klasy (ale nie superklas) 26

27 Przykład 1 zmienne klasowe class Circle: pi = # class variable def init (self, radius = 1): self.radius = radius def area(self): return self.radius**2 * pt print Circle.pi circle1 = Circle() print circle1.area() circle5 = Circle(5) print circle5.area() 27

28 Przykład 2 metody statyczne class Circle: all_circles = [] # class variable pi = # class variable def init (self, r=1): self.radius = r self. class.all_circles.append(self) def area(self): return self. class.pi * self.radius * def total_area(): total = 0 for c in Circle.all_circles: total = total + c.area() return total 28

29 Przykład 3 dziedziczenie class Shape: def init (self, x, y): self.x = x self.y = y class Square(Shape): def init (self, side=1, x=0, y=0): super(). init (x, y) self.side = side class Circle(Shape): def init (self, r=1, x=0, y=0): super(). init (x, y) self.radius = r 29

30 Przykład 4 getters/setters class Temperature: def init (self): self. t_fahr = 0 # private in def temp(self): # in ºC return (self. def temp(self, new_temp): # in ºC self. t_fahr = new_temp*9/

31 Klasa operacji na ułamkach zwykłych Implementacja klasy ułamek oraz operacji: dodawania, odejmowania, mnożenia i dzielenia ułamków wyświetlania ułamków EX10 31

Kurs rozszerzony języka Python

Kurs rozszerzony języka Python Wykład 2. 13 października 2017 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Deklaracja klasy Klasy i obiekty Przykłady class Figura: Pierwsza

Bardziej szczegółowo

Ćwiczenie 5. Python 3: Programowanie obiektowe i dziedziczenie

Ćwiczenie 5. Python 3: Programowanie obiektowe i dziedziczenie Wizualizacja danych Ćwiczenie 5 Python 3: Programowanie obiektowe i dziedziczenie Dziedziczenie Mając klasę bazową możemy utworzyć klasę pochodną, która będzie dziedziczyć po klasie bazowej czyli będzie

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Programowanie funkcyjne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XIV Jesień 2013 1 / 25 Paradygmaty programowania Programowanie imperatywne Program

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 4. 23 października 2015 Plan wykładu 1 2 Pliki tekstowe Trwałość obiektów CSV Strumienie Plan wykładu 1 2 Pliki tekstowe Trwałość obiektów CSV Strumienie Protokół iteracyjny Producent Umiem dostarczać

Bardziej szczegółowo

Python i programowanie funkcyjne. Python i programowanie funkcyjne czyli nie tylko obiektowość rządzi. OSEC Funkcyjnie w języku Python 1 z 40

Python i programowanie funkcyjne. Python i programowanie funkcyjne czyli nie tylko obiektowość rządzi. OSEC Funkcyjnie w języku Python 1 z 40 czyli nie tylko obiektowość rządzi 1 z 40 O czym będę mówił... Jak najmniej teorii bo nie czas i miejsce... Próba odpowiedzi na pythanie: Czy warto programować nie tylko obiektowo? Jak język Python wspiera

Bardziej szczegółowo

Programowanie funkcyjne w Pythonie

Programowanie funkcyjne w Pythonie Programowanie funkcyjne w Pythonie Koªo DSG 2013 Konrad Siek konrad.siek@cs.put.edu.pl dsg.cs.put.poznan.pl Paradygmat funkcyjny Paradygmat = sposób my±lenia o problemach Paradygmat funkcyjny Paradygmat

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wyjątki, metody specjalne, generatory Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. VII Jesień 2015 1 / 23 Wyjątki It s easier to ask forgiveness than

Bardziej szczegółowo

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Metody statyczne i klasowe Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) PO w. VI Jesień 2013 1 / 23 W poprzednich odcinkach... Klasy kategorie obiektów Przynależność

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Metaprogramowanie (w Pythonie) Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk(Wydział Fizyki) PO w. XI Jesień 2016 1 / 32 Wstęp ideologiczny Języki programowania

Bardziej szczegółowo

Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4

Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4 Spis treści 1 Dekoratory 1.1 Zadanie 1 1.2 Zadanie 2 1.3 Zadanie 3 1.4 Zadanie 4 Dekoratory Dekoratory w Pythonie służą do zastępowania zdefiniowanych przez nas funkcji przez funkcje (lub inne obiekty)

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Python od środka Paweł Daniluk Wydział Fizyki Jesień 2016 P. Daniluk(Wydział Fizyki) PO w. VIII Jesień 2016 1 / 26 Zasięgi nazw (ang. scopes) Przestrzeń nazw Mapowanie

Bardziej szczegółowo

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

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;

Bardziej szczegółowo

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).

Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji). Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle

Bardziej szczegółowo

JĘZYK PYTHON NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Dr Marcin Lewandowski [ mlew@ippt.pan.pl ] Strona kursu: http://us4us.eu/wydarzenia/kursy/

JĘZYK PYTHON NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Dr Marcin Lewandowski [ mlew@ippt.pan.pl ] Strona kursu: http://us4us.eu/wydarzenia/kursy/ JĘZYK PYTHON NARZĘDZIE DLA KAŻDEGO NAUKOWCA Dr Marcin Lewandowski [ mlew@ippt.pan.pl ] Strona kursu: http://us4us.eu/wydarzenia/kursy/ 1 2 OPERACJE NA STRINGACH 3 Bit/Byte/Word Bit 0/1 Byte 8 bitów Word

Bardziej szczegółowo

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

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Podstawowe cechy i możliwości języka Scala mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 2017 1 / 32 mgr inż. Krzysztof Szwarc Programowanie obiektowe Informacje

Bardziej szczegółowo

Platformy Programistyczne Podstawy języka Java

Platformy Programistyczne Podstawy języka Java Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo

Bardziej szczegółowo

Python! Lekcja 1 podstawy języka, typy danych

Python! Lekcja 1 podstawy języka, typy danych Python! Lekcja 1 podstawy języka, typy danych 1 Plan Python z czym jeść? Python jako język OO Python 2 czy 3 Typy danych: liczby int, float, bool (!) Typy danych: sekwencje stringi, krotki, listy Typy

Bardziej szczegółowo

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

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,

Bardziej szczegółowo

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

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Wykład 2 Programowanie zorientowane obiektowo w Pythonie

Wykład 2 Programowanie zorientowane obiektowo w Pythonie Wykład 2 Programowanie zorientowane obiektowo w Pythonie Plan wykładu: 1. Podstawowe informacje 2. Funkcje specjalne 3. Przeciążanie funkcji i operatorów 4. Dokumentowanie klasy 5. Wbudowane atrybuty obiektu

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

SWIFT. Zaawansowane Programowanie Obiektowe

SWIFT. Zaawansowane Programowanie Obiektowe SWIFT Zaawansowane Programowanie Obiektowe Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje

Bardziej szczegółowo

Środowisko programisty

Środowisko programisty Środowisko programisty 1/35 Środowisko programisty Język Python cz. 3 dr inż. Grzegorz Michalski 7 kwietnia 2014 Środowisko programisty 2/35 Kod samotestujący Tworzenie def t e s t e r ( ) : p r i n t

Bardziej szczegółowo

Wstęp do ruby dla programistów javy

Wstęp do ruby dla programistów javy czyli dlaczego java ssie Akademickie Stowarzyszenie Informatyczne 26 lutego 2011 Podstawowe cechy Ruby vs Java Wieloparadygmatowy Imperatywny Typowanie Silne Dynamiczne Otwarte klasy Interpretowany Wszystko

Bardziej szczegółowo

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7

Spis treści. Funkcje. 1 Funkcje 1.1 Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie Zadanie 7 Spis treści 1 Funkcje 1.1 Zadanie 1 1.2 Zadanie 2 1.3 Zadanie 3 1.4 Zadanie 4 1.5 Zadanie 5 1.6 Zadanie 6 1.7 Zadanie 7 Funkcje Przy programowaniu często zdarza się, że pewne czynności chcemy wykonywać

Bardziej szczegółowo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

JAVA W SUPER EXPRESOWEJ PIGUŁCE JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie

Bardziej szczegółowo

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

Programowanie 2. Język C++. Wykład 3. 3.1 Programowanie zorientowane obiektowo... 1 3.2 Unie... 2 3.3 Struktury... 3 3.4 Klasy... 4 3.5 Elementy klasy... 5 3.6 Dostęp do elementów klasy... 7 3.7 Wskaźnik this... 10 3.1 Programowanie zorientowane

Bardziej szczegółowo

Python. Skąd taka nazwa? Kurs systemu UNIX 1

Python. Skąd taka nazwa? Kurs systemu UNIX 1 Python Skąd taka nazwa? Kurs systemu UNIX 1 Cechy języka marketing Obiektowy (dużo prostszy od C++) Darmowy Nie tylko Unix (choć tam najpopularniejszy) Wiele bibliotek (np. Tkinter, czyli interfejs do

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 4

PARADYGMATY PROGRAMOWANIA Wykład 4 PARADYGMATY PROGRAMOWANIA Wykład 4 Metody wirtualne i polimorfizm Metoda wirualna - metoda używana w identyczny sposób w całej hierarchii klas. Wybór funkcji, którą należy wykonać po wywołaniu metody wirtualnej

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2014 1 / 38 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

PARADYGMATY PROGRAMOWANIA Wykład 3

PARADYGMATY PROGRAMOWANIA Wykład 3 PARADYGMATY PROGRAMOWANIA Wykład 3 Definiowanie operatorów i ich przeciążanie Przykłady zastosowania operatorów: a) operator podstawienia ( = ) obiektów o złożonej strukturze, b) operatory działania na

Bardziej szczegółowo

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

Programowanie obiektowe, wykład nr 6. Klasy i obiekty Dr hab. inż. Lucyna Leniowska, prof. UR, Zakład Mechatroniki, Automatyki i Optoelektroniki, IT Programowanie obiektowe, wykład nr 6 Klasy i obiekty W programowaniu strukturalnym rozwój oprogramowania oparto

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Powiązania i tworzenie obiektów Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) PO w. IV Jesień 2014 1 / 27 Powiązania Jeden do jeden Przez

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 2. 11 października 2013 Plan wykładu 1 Klasy i obiekty 2 3 4 Deklaracja klasy Przykłady class Figura: Pierwsza klasa def init (self, x, y): self.x = x self.y = y Definicja metody class Figura, cd.

Bardziej szczegółowo

Przegląd języka Python. Łukasz Anwajler

Przegląd języka Python. Łukasz Anwajler Przegląd języka Python Łukasz Anwajler lukasz.anwajler@pjwstk.edu.pl Nie wierzcie mi na słowo Zaraz zobaczymy: czym jest Python dlaczego warto go używać jakie ma zastosowania gdzie z niego korzystają jakzacząć

Bardziej szczegółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 8 (15.04.2019) Kompilacja Kompilacja programu (kodu): proces tłumaczenia kodu napisanego w wybranym języku na kod maszynowy, zrozumiały

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -

Bardziej szczegółowo

Wprowadzenie do Objective-C

Wprowadzenie do Objective-C Wprowadzenie do Objective-C Historia rozszerzenie składni C o elementy obiektowe powstał na początku lat 80-tych zainspirowany SmallTalk iem wstecznie kompatybilny z C Historia Steve Jobs po odejściu z

Bardziej szczegółowo

Python wstęp do programowania dla użytkowników WCSS

Python wstęp do programowania dla użytkowników WCSS Python wstęp do programowania dla użytkowników WCSS Dr inż. Krzysztof Berezowski Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Wprowadzenie CHARAKTERYSTYKA JĘZYKA Filozofia języka

Bardziej szczegółowo

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Wstęp do Informatyki i Programowania (kierunek matematyka stosowana) Jacek Cichoń Przemysław Kobylański Instytut Matematyki i Informatyki Politechnika Wrocławska Na podstawie: M.Summerfield.Python 3. Kompletne

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Smalltalk Marcin Benke 15 stycznia 2007 Marcin Benke (MIMUW) Programowanie Obiektowe i C++ 15 stycznia 2007 1 / 26 Marcin Benke (MIMUW) Programowanie Obiektowe i C++ 15 stycznia

Bardziej szczegółowo

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C

Klasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C #import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:

Bardziej szczegółowo

Wstęp do Programowania potok funkcyjny

Wstęp do Programowania potok funkcyjny Wstęp do Programowania potok funkcyjny Marcin Kubica 2010/2011 Outline Programowanie imperatywne 1 Programowanie imperatywne Intuicje Programowanie imperatywne Paradygmat programowania imperatywnego: program

Bardziej szczegółowo

Język Python (3) Język Python (3) 1/35

Język Python (3) Język Python (3) 1/35 Język Python (3) Język Python (3) 1/35 Język Python (3) 2/35 Kod samotestujący Tworzenie def t e s t e r ( ) : p r i n t ( "Wywołanie funkcji testujacych..." ) i f n ame == main : t e s t e r ( ) Język

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 1. 4 października 2013 Plan wykładu 1 2 3 4 Typy proste Kolekcje Instrukcje w języku (przypomnienie) Wykładowca: Termin wykładu: piątek, 10:15 12:00, sala 119 Strona wykładu http://www.ii.uni.wroc.pl/

Bardziej szczegółowo

Dziedziczenie. dr Jarosław Skaruz

Dziedziczenie. dr Jarosław Skaruz Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,

Bardziej szczegółowo

Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/

Bardziej szczegółowo

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/

Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i

Bardziej szczegółowo

Podstawy. Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS Informatyka Stosowana

Podstawy. Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS Informatyka Stosowana Podstawy 1 Plan prezentacji Garść informacji Komentarze Stringi Wbudowane typy liczbowe Konstrukcja print Pobieranie danych Konstrukcja if Konstrukcja if else Konstrukcja if elif else Pętla while Pętla

Bardziej szczegółowo

KOTLIN. Język programowania dla Androida

KOTLIN. Język programowania dla Androida KOTLIN Język programowania dla Androida Historia Kotlin został opracowany przez firmę JetBrains Prace rozpoczęto w 2011 r., od 2012 r. dostępny na licencji Apache 2. Nazwa pochodzi od wyspy koło Petersburga

Bardziej szczegółowo

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

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to

Bardziej szczegółowo

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017

Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017 Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania

Bardziej szczegółowo

Definicje wyższego poziomu

Definicje wyższego poziomu Definicje wyższego poziomu Interpreter Scheme-a nie będzie narzekad w przypadku wystąpienia niezdefionowanej zmiennej w ciele wyrażenia lambda dopóki nie będzie zastosowana Przykład braku informacji o

Bardziej szczegółowo

Programowanie, część I

Programowanie, część I 11 marca 2010 Kontakt Wstęp Informacje organizacyjne Materiał na ćwiczenia Plan wykładu http://www.fuw.edu.pl/~rwys/prog rwys@fuw.edu.pl tel. 22 55 32 263 Materiał na ćwiczenia Informacje organizacyjne

Bardziej szczegółowo

Algorytmy i Struktury Danych. Anna Paszyńska

Algorytmy i Struktury Danych. Anna Paszyńska Algorytmy i Struktury Danych Anna Paszyńska Tablica dynamiczna szablon Array Zbiory Zbiory template class Container {public: virtual ~Container() { }; virtual int Count() const = 0;

Bardziej szczegółowo

Paradygmaty programowania

Paradygmaty programowania Paradygmaty programowania Jacek Michałowski, Piotr Latanowicz 15 kwietnia 2014 Jacek Michałowski, Piotr Latanowicz () Paradygmaty programowania 15 kwietnia 2014 1 / 12 Zadanie 1 Zadanie 1 Rachunek predykatów

Bardziej szczegółowo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h] 1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie

Bardziej szczegółowo

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

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

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

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.) przeznaczony do programowania zarówno pod ios jak i Mac OS X bazuje na logice Objective-C bez kompatybilności

Bardziej szczegółowo

Podstawy bioinformatyki 2017/18

Podstawy bioinformatyki 2017/18 JEZYK PROGRAMOWANIA PYTHON: WPROWADZANIE DANYCH I FORMATOWANIE WYNIKÓW, WEWNETRZNA DOKUMENTACJA, PROGRAMY I MODUŁY E. Dyguda-Kazimierowicz 1 Formatowanie danych wyjściowych Do formatowania wyświetlanych

Bardziej szczegółowo

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

WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy WSNHiD, Programowanie 2 Lab. 2 Język Java struktura programu, dziedziczenie, abstrakcja, polimorfizm, interfejsy Pojęcie klasy Program napisany w języku Java składa się ze zbioru klas. Każda klasa zawiera

Bardziej szczegółowo

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2 Paweł Woszkowski SWSIM 2009 ADOBE ACTIONSCRIPT Programming language of the Adobe Flash Platform. Originally developed as a way for developers to program interactivity,

Bardziej szczegółowo

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH Michał Bujacz bujaczm@p.lodz.pl B9 Lodex 207 godziny przyjęć: środy i czwartki 10:00-11:00 http://www.eletel.p.lodz.pl/bujacz/ 1 Pytania weryfikacyjne:

Bardziej szczegółowo

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW http://metodycy.torun.pl/ m.informatyka@metodycy.torun.pl 1. Wprowadzenie do Pythona podstawowe informacje Python to język programowania wysokiego poziomu,

Bardziej szczegółowo

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

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Wykład 4 Piotr Błaszyński Wydział Inmatyki Zachodniopomorskiego Uniwersytetu Technologicznego 16 lutego 2018 i zawieranie się, gromadzenie elementów nowa klasa powstaje przez użycie obiektów klas już istniejących,

Bardziej szczegółowo

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

Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016 Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,

Bardziej szczegółowo

Technologie cyfrowe semestr letni 2018/2019

Technologie cyfrowe semestr letni 2018/2019 Technologie cyfrowe semestr letni 2018/2019 Tomasz Kazimierczuk Wykład 7 (08.04.2019) Wikipedia Programowanie komputerów proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów

Bardziej szczegółowo

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

Programowanie obiektowe - 1.

Programowanie obiektowe - 1. Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która

Bardziej szczegółowo

Algorytmy i struktury danych

Algorytmy i struktury danych Algorytmy i struktury danych 3. Elementy programu i typy danych Łódź 2018 Ćwiczenie Body Mass Index - Edytuj kod programu - Zapisz go w pliku bmi.py - Uruchom skrypt >>> Enter your name: Jacek >>> Enter

Bardziej szczegółowo

Języki i metody programowania

Języki i metody programowania Języki i metody programowania Wykład 3 dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie hab. Andrzeja Zbrzezngo Wartości boolowskie

Bardziej szczegółowo

Programowanie i projektowanie obiektowe

Programowanie i projektowanie obiektowe Programowanie i projektowanie obiektowe Obiekty i klasy w Pythonie Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) PO w. III Jesień 2013 1 / 23 Klasy i obiekty Klasy w implementacji

Bardziej szczegółowo

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

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany KLASA UCZEN Napisz deklarację klasy Uczen, w której przechowujemy następujące informacje o uczniu: imię, nazwisko, średnia (pola prywatne), poza tym klasa zawiera metody: konstruktor bezparametrowy (nie

Bardziej szczegółowo

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

Wykład 2 Składnia języka C# (cz. 1) Wizualne systemy programowania Wykład 2 Składnia języka C# (cz. 1) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Budowa projektu 2 Struktura programu

Bardziej szczegółowo

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

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016 Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal

Bardziej szczegółowo

Koło Studentów Informatyki Uniwersytetu Wrocławskiego

Koło Studentów Informatyki Uniwersytetu Wrocławskiego Koło Studentów Informatyki Uniwersytetu Wrocławskiego Python programming is fun again! Piotr Wasilewski wasilewski.piotrek (at) gmail.com Akademickie Stowarzyszenie Informatyczne Plan wykładu Wstęp Język

Bardziej szczegółowo

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem

Bardziej szczegółowo

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. PYTHON Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program. Aby program napisany w danym języku mógł być wykonany, niezbędne

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

Zaawansowany kurs języka Python

Zaawansowany kurs języka Python Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest

Bardziej szczegółowo

Python. Wprowadzenie. Jolanta Bachan

Python. Wprowadzenie. Jolanta Bachan Python Wprowadzenie Jolanta Bachan Zainstaluj i przetestuj Pythona https://www.python.org/downloads/ print 'Hello world!' operatory numeryczne: + - * / // % ** operatory porównania: ==!= > < >=

Bardziej szczegółowo

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r. M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Wykład 12 Wstęp do programowania obiektowego Janusz Szwabiński Plan wykładu: Pierwsze kroki Programowanie obiektowe W stronę zastosowań praktycznych klasa Particle Więcej o metodach

Bardziej szczegółowo

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

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego

Bardziej szczegółowo

Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania

Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania Wykład 11. 4 stycznia 2010 1 Kontrola poprawności podczas biegu programu 2 3 4 Asercje Asercja to formuła logiczna; Asercji używa się do kontrolowania czy np. wartość zmiennej ma odpowiedni typ lub mieści

Bardziej szczegółowo

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

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Konstruktory Konstruktory w językach obiektowych są to specjalne metody wywoływane podczas tworzenia nowego obiektu i służące do

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych

Bardziej szczegółowo

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

Typy zmiennych proste i złożone. Programowanie komputerów. Tablica. Złożone typy zmiennych. Klasa. Struktura Programowanie komputerów Programowanie obiektowe. Typy zmiennych proste i złożone Typy zmiennych "wbudowane", tj. identyfikowane przez słowa kluczowe, są określane jako proste: int short long float double

Bardziej szczegółowo

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. ABAP/4 Instrukcja IF Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek]. [ELSEIF warunek. ] [ELSE. ] ENDIF. gdzie: warunek dowolne wyrażenie logiczne o wartości

Bardziej szczegółowo

Programowanie Obiektowe i C++

Programowanie Obiektowe i C++ Programowanie Obiektowe i C++ Marcin Benke Instytut Informatyki UW 6.11.2006 Marcin Benke (IIUW) Programowanie Obiektowe i C++ 6.11.2006 1 / 138 Operator przypisania Jest czym innym niż konstruktor kopiujacy!

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.

Bardziej szczegółowo