Programowanie obiektowe
Download
Report
Transcript Programowanie obiektowe
Programowanie
obiektowe
Andrzej Ziółkowski
Plan pracy
1.
2.
3.
4.
5.
6.
7.
8.
Wprowadzenie, pojęcia podstawowe,
obiektowe języki programowania
Klasy, obiekty, zmienne, metody
Modyfikatory, pakiety, interfejsy
Programowanie sterowane zdarzeniami
Aplety i servlety programowanie aplikacji
internetowych
Aplikacje mobilne, programowanie telefonów i
drobnych urządzeń.
Uruchamianie programów, błędy, testowanie,
ślad, obsługa wyjątków
Programowanie wielowątkowe,
programowanie rozproszone
Ćwiczenia
Programowanie w języku Java
Środowisko programistyczne NetBeans
IDE
Praca indywidualna i w grupach
Projekt
Program w języku Java
Lektury
Marek Wierzbicki: Java, programowanie
obiektowe. Helion 2006
Bruce Eckel: Thinking in Java. Helion 2006.
http://java.sun.com/docs/books/tutorial/
Zaliczenie i oceny
Do uzyskania 100 punktów
70 – ćwiczenia
30 – projekt
Oceny:
0 – 49 : brak zaliczenia
50 – 59 : 3.0 dostateczna
60 – 69 : 3.5 dostateczna plus
70 – 79 : 4.0 dobra
80 – 89 : 4.5 dobra plus
90 – 100 : 5.0 bardzo dobra
Języki programowania
Assembler
Fortran
Algol
Cobol
PL-1
C
Simula, Smalltalk
C++
Java, C#
Prolog
Lisp
Perl, PHP
JavaScript
Algol – algorithmic language
John Backus, Peter Naur – specyfikacja przy
współpracy międzynarodowej (Algol 60)
Uniwersalny język algorytmiczny oparty na ściśle
zdefiniowanej gramatyce (notacja BNF)
Instrukcje blokowe (begin end)
Tablice dynamiczne (rozmiar definiowane w
trakcji obliczeń a nie podczas translacji)
Rekurencja – wywoływanie procedur przez
siebie
Przekazywanie parametrów do procedur przez
wartość
Język C
Opracowany dla własnych potrzeb do realizacji
jądra systemu operacyjnego Unix 1969-73 w
Laboratoriach Bell’a
W 1978 Brian Kernighan i Dennis Ritchie
opublikowali jego dokumentację
Zwarty zapis np. { } zamiast begin end, i++
zamiast i = i + 1
Standardowa biblioteka funkcji (funkcje
matematyczne, operacje we-wy, współpraca z
systemem operacyjnym)
Użycie zmiennych wskaźnikowych
Simula
Rozszerzenie Algolu
Opracowany w 1967 w Oslo jako
uniwersalny język dla potrzeb symulacji
Wprowadzono koncepcje klasy i obiektu
Obiekty należące do tej samej klasy są
opisywane przez te same parametry i
funkcje
Obiekty mogą być tworzone i usuwane
Smalltalk
Powstał w latach 70-tych w firmie Xerox
Pierwszy czysto obiektowy język
programowania
Wszystkie dane (nawet stałe) są obiektami
Koncepcja maszyny wirtualnej –
implementacja na różnych platformach
Garbage collection – odzyskiwanie
nieużywanej pamięci
Zgrabny język o dużych możliwościach
definiowania nowych funkcjonalności
C++
Powstał w latach 80-tych, Bjarne Stroustrup
Rozszerzenie obiektowe języka C
Klasy, dziedziczenie
Konstruktory i destruktory – metody wywoływane
podczas tworzenia i usuwania obiektów
Bezpośrednie zarządzanie dostępną pamięcią.
Operatory new i delete do alokacji pamięci dla
danych, struktur i klas
Przestrzenie nazw
…
Bogaty ale dość złożony język, którym łatwo
można zrobić wszystko włącznie z błędami.
Java
Opracowany w Sun Microsystems w latach
1991-94, James Gosling
Podstawowe koncepcje przejęte z języka
Smalltalk, składnia wzorowana na C++ ale
starano się usunąć te elementy, które były
przyczyną błędów programistycznych w C++
Kompilowany do kodu bajtowego –
implementacja na wielu platformach
Garbage collection
Dziedziczenie tylko od jednej klasy
Bogate biblioteki klas
Nacisk na zastosowania sieciowe i
programowanie rozproszone
Uruchamianie programów – NetBeans, JBuilder
C# - C Sharp
Odpowiedź Microsoftu na język Java
Powstał w 2000 w zespole kierowanym przez
Andersa Hejlsberga
Kod kompilowany do języka CIL, wymaga
środowiska uruchomieniowego .NET lub Mono
DotGNU
Garbage collection – odzyskiwanie pamięci
Dziedziczenie tylko z jednej klasy
Możliwość dynamicznego tworzenia kodu w
trakcie działania programu
Bogate biblioteki klas .NET firmy Microsoft
Silne wsparcie przy uruchamianiu programów w
Visual Studio