Programowanie obiektowe

advertisement
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
Download