Programim i Orientuar në Objekte i Avancuar

Print

Alda Kika, Prof. Dr.

Kodi
CMP 407
Emri
Programim i Orientuar në Objekte i Avancuar
Semestri
1
Leksione
3.00
Seminare
1.00
Laboratore
0.00
Kredite
3.50
ECTS
6.00
Përshkrimi

Lënda është e orientuar drejt zhvillimit të aftësive praktike për dizajnin e orientuar drejt objekteve, zbatimin, ekzekutimin dhe testimin e programeve duke përfshirë koncepte të tilla si klasat dhe objektet, enkapsulimi, abstraksioni, trashëgimia, polimorfizmi, kompozimi, etj.

Objektivat

Qëllimi kryesor i kësaj lënde është të pajisë studentët me njohuri rreth koncepteve themelore të programimit të orientuar drejt objekteve. Lënda synon t'u mësojë studentëve parimet dhe mjetet për të projektuar dhe implementuar aplikacione duke përdorur gjuhën Java dhe konceptet e programimit të orientuar drejt objekteve.

Java
Tema
1
Përdorimi i objekteve. Objektet dhe klasat. Variablat. Thirrja e metodave. Deklarimi i metodave. Ndërtimi i objekteve. Metodat aksesuese dhe ndryshuese. Dokumentacioni i API-t. Shfletimi i dokumentacionit të API-t. Paketat. Implementimi i një programi testues. Testimi i klasave në një mjedis interaktiv. Referenca e objektit. (Cay Horstmann, Big Java early objects, 6th edition, f. 31-55)
2
Aplikacionet grafike. Dritaret. Vizatimi në një komponente. Shfaqja e një komponenteje në një dritare. Elipset, vijat, teksti dhe ngjyrat. Elipset dhe rrethet. Vijat. Vizatimi i tekstit. Ngjyrat. (Cay Horstmann, Big Java early objects, 6th edition, f. 56-66)
3
Zbatimi i klasave. Variablat e instancës dhe kapsulimi. Variablat e instancës. Metodat e klasës Counter. Kapsulimi. Specifikimi i ndërfaqes publike të një klase. Specifikimi i metodave. Specifikimi i konstruktorëve. Përdorimi i ndërfaqes publike. Komentimi i ndërfaqes publike. Ofrimi i zbatimit të klasës. Ofrimi i variablave të instancës. Ofrimi i konstruktorëve. Ofrimi i metodave. (Cay Horstmann, Big Java early objects, 6th edition, f. 79-93)
4
Tabelat(Arrays). Deklarimi dhe përdorimi i tabelave. Referencat e tabelave. Përdorimi i tabelaveme metoda. Tabela të mbushura pjesërisht. Metodat me një numër të ndryshueshëm argumentesh. Cikli i zgjeruar "for" (Enhanced for Loop). Algoritmet e zakonshme për tabelat. (Cay Horstmann, Big Java early objects, 6th edition, f. 308-324)
5
Tabelat dy-dimensionale. Deklarimi i tabelave dy-dimensionale. Qasja te elementet. Gjetja e elementeve fqinje. Qasja te rreshtat dhe kolonat. Tabelat shumë-dimensionale. Listat e tabelave(Array Lists). Deklarimi dhe përdorimi i listave të tabelave. Përdorimi i ciklit të zgjeruar "for" me listat e tabelave. Kopjimi i listave të tabelave. Mbështjellësit (Wrappers) dhe auto-boxing. Përdorimi i algoritmeve të tabelave me listat e tabelave. (Cay Horstmann, Big Java early objects, 6th edition, f. 336-352)
6
Projektimi i klasave. Zbulimi i klasave. Projektimi i metodave të mira. Ofrimi i një ndërfaqeje publike kohezive. Minimizimi i varësive. Ndarja e metodave aksesuese dhe ndryshuese. Minimizimi i efekteve anësore. Thirrja sipas vlerës dhe thirrja sipas referencës. Modelet e zgjidhjes së problemeve për të dhënat e objekteve. (Cay Horstmann, Big Java early objects, 6th edition, f. 375-389)
7
Variablat dhe metodat statike. Format alternative të inicializimit të variablave të instancës dhe atyre statike. Paketat. Organizimi i klasave të ndërlidhura në paketa. Importimi i paketave. Programimi me paketa. (Cay Horstmann, Big Java early objects, 6th edition, f. 391-404)
8
Trashëgimia. Hierarkitë e trashëgimisë. Zbatimi i nënklasave. Përshtatja e metodave. Thirrja e konstruktorit të superklasës. Polimorfizmi. Kërkimi dinamik i metodave dhe parametri implicit. Klasat abstrakte. Metodat dhe klasat finale. (Cay Horstmann, Big Java early objects, 6th edition, f. 423-444)
9
Superklasa Kozmike. Mbishkrimi i metodës toString. Metoda equals. Operatori instanceof. Trashëgimia dhe toString. Trashëgimia dhe metoda equals. Ndërfaqet. Përdorimi i ndërfaqeve për ri-përdorimin e algoritmeve. Zbulimi i një tipi ndërfaqjeje. Deklarimi i një tipi ndërfaqjeje. Zbatimi i një tipi ndërfaqjeje. (Cay Horstmann, Big Java early objects, 6th edition, f. 450-469)
10
Krahasimi i ndërfaqjeve dhe trashëgimisë. Konstantet në ndërfaqje. Metodat statike në ndërfaqje. Metodat e paracaktuara. Puna me variablat e ndërfaqjeve. Konvertimi nga klasat në ndërfaqje. Thirrja e metodave në variablat e ndërfaqjeve. Ndërrimi nga ndërfaqje në klasë. Ndërfaqja Comparable. Metoda clone dhe ndërfaqja Cloneable. Përdorimi i ndërfaqjeve për Callbacks. (Cay Horstmann, Big Java early objects, 6th edition, f. 471-482)
11
Klasa të brendshme. Klasa anonime. Menaxhimi i ngjarjeve. Dëgjimi i ngjarjeve. Përdorimi i klasave të brendshme për dëgjues. Ndërtimi i aplikacioneve me butona. Procesimi i ngjarjeve të kohës. Ngjarjet e miut. (Cay Horstmann, Big Java early objects, 6th edition, f. 487-506)
12
Hyrja / dalja. Leximi dhe shkrimi i skedarëve tekst. Kutitë e dialogut të skedarëve. Kodimet e karaktereve. Hyrja dhe dalja e tekstit. Leximi i fjalëve. Leximi i karaktereve. Klasifikimi i karaktereve. Leximi i rreshtave. Skanimi i një vargu karakteresh. Konvertimi i vargjeve me karaktere në numra. (Cay Horstmann, Big Java early objects, 6th edition, f. 519-528)
13
Argumentet e rreshtit të komandës. Procesimi i skedarëve tekst. Trajtimi i përjashtimeve. Hedhja e përjashtimeve. Kapja e përjashtimeve. Përjashtime të kontrolluara. Mbyllja e burimeve. Implementimi i përjashtimeve. Deklarata try/finally. Trajtimi i gabimeve të hyrjes. (Cay Horstmann, Big Java early objects, 6th edition, f. 533- 549)
14
Projektimi i orientuar drejt objekteve. Klasat dhe përgjegjësitë e tyre. Zbulimi i klasave. Metoda CRC Card. Marrëdhëniet midis klasave. Varësia. Agregimi. Trashëgimia. Përdorimi i kartave CRC dhe diagrameve UML në projektimin e programeve. Aplikacioni: Shfaqja e një faturë. . (Cay Horstmann, Big Java early objects, 6th edition, f. 565-581)
15
Ndërfaqja grafike e përdoruesit. Menaxhimi i layout-it. Përdorimi i menaxherëve të layout-it. Ndërtimi i layout-eve komplekse. Përdorimi i trashëgimisë për të personalizuar dritaret. Trajtimi i hyrjes së tekstit. Fushat e tekstit. Sipërfaqet e tekstit . Zgjedhjet. Butonat e radios. Kutitë e kontrollit. Kutitë kombo. (Cay Horstmann, Big Java early objects, 6th edition, f. 883-896)
16
Provim Final
1
Projektim i programimit të orientuar nga objektet
2
Enkapsulimi
3
Klasat abstrakte dhe ndërfaqjet
4
Trashëgimia
5
Aplikimi i projektimit të orientuar nga objektet duke përdorur gjuhën Java
Sasia Përqindja Përqindja totale
Gjysmë finale
1 30% 30%
Kuize
0 0% 0%
Projekte
1 10% 10%
Detyra
0 0% 0%
Laboratorët
0 0% 0%
Pjesëmarrja në mësim
1 10% 10%
Përqindja totale e vlerësimit
50%
Përqindja e provimit përfundimtar
50%
Përqindja totale
100%
Sasia Kohëzgjatja (orë) Gjithsej (orë)
Kohëzgjatja e kursit (përfshirë javët e provimit)
16 4 64
Orë studimi jashtë klasës
14 4 56
Detyrat
1 2 2
Gjysmë finale
1 6 6
Provimi përfundimtar
1 10 10
Të tjera
0 0 0
Ngarkesa totale e punës
138
Ngarkesa totale e punës / 25 (orë)
5.52
ECTS
6.00