You are on page 1of 36

Programimi i avancuar

2018/2019
Përmbajtja e lëndës
• Analiza dhe dizajni i orientuar në objekte

• Programimi paralel / konkurent

• Programimi në rrjet
Analiza dhe dizajni i orientuar në objekte
• Klasat dhe objektet

• Enkapsulimi

• Trashëgimia

• Polimorfizmi
Programimi paralel
• Proceset, multi-threading

• Libraritë në Microsoft.Net
Programimi në rrjet
• Aplikacionet në rrjet

• Aplikacionet Server
• Aplikacionet Klient
• Komunikimi mes aplikacioneve
Analiza dhe dizajni i orientuar në objekte
• Klasat dhe objektet
• Konceptet themelore
• Të dhënat, funksionaliteti
• Klasat
• Objektet
• Vetitë
Metodat
• Niveli i qasjes
• Statike / të instancës
Analiza dhe dizajni i orientuar në objekte
• Klasat
• Statike
• Sealed
• Abstrakte

• Objektet
• Value vs Reference
• Constructor
• Destructor
Analiza dhe dizajni i orientuar në objekte
• Vetitë ( properties)
• Get, Set, Indexer

• Metodat
• Statike
• Të instancës
• Niveli i qasjes: Public, Private, Protected
• Parametrat vlerë dhe referencë, input / output
Analiza dhe dizajni i orientuar në objekte
• Enkapsulimi

• Interface: anëtarët me qasje publike

• Implementimi: metodat/funksionet private

• Objektet e pandryshueshme (immutable)


Analiza dhe dizajni i orientuar në objekte
• Trashëgimia dhe polimorfizmi
• Konstruktorët në trashëgimi
• Metodat virtuale, abstrakte
• Mbishkrimi i metodave
• Thirrja e metodave të mbishkruara (polimorfizmi)
• Operatori typeof()
• Metoda GetType()
Programimi i avancuar
2018/2019

Java 3
Interface
• Deklarimi i Interface

• Metodat në Interface

• Implementimi i Interface nga klasa

• Shembuj përdorimi
Icomparable
• Objekt që është i krahasueshëm:
• Më i madh ( 1)
• Më i vogël (-1)
• Ose identik (0 )
• Public int CompareTo(object a)

• Array.Sort(v)
• Klasa Array bën sortimin bazuar në rezultatin e CompareTo()
Implementimi i më shumë Interface-ave
• Implementimi i përbashkët ( class level)

• Implementimi eksplicit (sipas interface-it)


Shembull – interface is null
Ushtrime ne Visual Studio

• Interface IEnumerable

• Interface IEnumerator
Programimi i avancuar
2018/2019
Java 4
Delegates
• Çfarë është delegati
• Deklarimi
• Krijimi (instancimi)
• Vlerëdhënia
• Invokimi
Delegates
Shembull
• Çfarë është delegati
• Deklarimi
• Krijimi (instancimi)
• Vlerëdhënia
• Invokimi
Më shumë për delegatët
• Metodat anonime
• Bazohen në delegate
Më shumë për delegatët
• Delegate int MyDel(int x)

Events
• Publikuesi, Konsumuesi
Events
• Cikli i përdorimit:
• Deklarimi i delegatit
• Deklarimi i Event-it
• Kodi që shkakton ngjarjen

• Deklarimi i EventHandlers
• Invokimi i EventHandlers
Shembull – llogaria bankare
• Cikli i përdorimit:
• Deklarimi i delegatit
• Deklarimi i Event-it
• Kodi që shkakton ngjarjen

• Deklarimi i EventHandlers
• Invokimi i EventHandlers
Programimi i avancuar
2018/2019
Java 5
Programimi asinkron
• Çka është programimi asinkron
• Modeli Async Await
• Radha e ekzekutimit
Programimi asinkron
• Task.Run(void)
• Task.Wait()
Një klasë asinkrone
• Metoda Async me disa thirrje await

• Ekzekutim paralel

• Ekzekutimi përfundimtar
Një klasë asinkrone
• Metoda Async me disa thirrje await

• Ekzekutim paralel

• Ekzekutimi përfundimtar
Anulimi i ekzekutimit
• CancellationToken

• Implementohet në
klasën/metodën async
Tri modelet e programimit asinkron
Wait-until-done
• Pasi është startuar thread-i me metodën BeginInvoke
• Kryhen veprimet e nevojshme nga thread-i iniciues
• Thirret metoda EndInvoke – presim të përfundojë procesi
• Vazhdon ekzekutimi i thread-it kryesor
Polling
BeginInvoke

EndInvoke

IsCompleted
Callback
• Delegate void
AsyncCallback( IAsyncResult
iar )
Metoda sipas delegatit, si
parametër në 2 mënyra
• Në Callback metodë, thirret
EndInvoke dhe lexohet
rezultati

You might also like