2. Əvvəlki dərs aid suallar
İkilik say sistemindəki 11 ədədini onluq say sistemində göstər.
Onluq say sistemindəki 11 ədədini ikilik say sistemində göstər.
Bitvari operatorlara misal de.
& (|) və && (||) fərqi nədir?
Komputer yanandan sonra hazırki vaxtı necə bilir?
3. Mündəricat
OYP (Obyekt-yönlü proqramlaşdırma) nədir?
Sinif və Obyekt anlayışı
Xüsusiyyətlər və Metodlar
Obyektin yaradılması
new açar sözü
Sinif və Obyekt fərqləri anlayışlardır
Obyektin xüsusiyyət və funksiyalarını çağırmaq
Hüquq təyinedicilər
Konstruktor
Statik və statik olmayan siniflər, xüsusiyyətlər, metodlar. ( static açar sözü )
Proqram: Kalkulyator proqramı
Visual Studio-da Console, Convert siniflərinə baxış
Dərsdə yazılan tapşırıqların mənbə kodları
Ev Tapşırığı
4. OYP nədir?
OYP (Obyekt-Yönlü Proqramlaşdırma)
OOP (Object Oriented Programming)
OYP – “obyekt” anlayışına əsaslanan proqramlaşdırma paradiqmasıdır.
Paradiqma - bir problemin həllinin öyrənilməsi üsulu
5. Sinif və Obyekt anlayışı
Sinif – xüsusiyyətlər (properties) və metodlardan (methods) ibarət şablondur. Siniflər proqram
işlədiyi müddətdə heç bir dəyişikliyə məruz qalmırlar.
6. Sinif və Obyekt anlayışı
Obyekt – sinifin bir nüsxəsidir. Sinifdən fərqli olaraq obyektlər yalnız proqram işləyən müddətdə
mövcud olurlar və dəyişikliyə məruz qalırlar.
Burada insan və insan2 obyektlərdir.
9. new açar sözü
new açar sözü yeni gələ bilər, lakin o, dəyişən yaradarkən də istifadə olunur.
10. new açar sözü
Aşağıdakı ifadələrin heç bir fərqi yoxdur. Hər ikisində də i dəyişəninin qiyməti 0
olacaqdır.
Proqram yazarkən dəyişənlər həddindən artıq çox istifadə olunduğuna görə
sadə olsun deyə 1ci üsul yaradılmışdır və istifadə olunur.
Obyekt yaradarkən isə biz öz tipimizdən (məs, Insan tipini biz yaratmışıq)
istifadə edirik deyə yuxarıdakı 2ci üsuldan istifadə etməli oluruq:
11. Sinif və Obyektlərin fərqləri
Başa düşmək lazımdır ki, sinif və obyekt fərqli anlayışlardır. Sinif şablondur, obyektin hansı xüsusiyyətləri
(və ya metodları) olacağını göstərir. Biz bir sinifdən bir neçə obyekt yarada bilərik. (Obyektlərin tipi sinifin adı ilə
eyni olacaqdır.)
SİNİF
OBYEKTLƏR
12. Obyektin xüsusiyyət və funksiyalarını çağırmaq
Obyektin xüsusiyyət və ya metodlarını çağırmaq üçün obyektin adından sonra nöqtə qoyub
xüsusiyyətinin və ya metodunun adını yazmaq lazımdır. Məsələn:
SİNİF
OBYEKT yaratmaq və xüsusiyyətlərini,
metodlarını çağırmaq
QEYD: Bu kodu icra etdikdə error baş verəcək.
Səbəbi növbəti slaydda.
13. Hüquq Təyinedicilər (Access Modifiers)
Hüquq Təyinedicilər bir xüsusiyyət və ya metodun hansı səviyyədə çağrıla biləcəyini göstərir. Hüquq
Təyinedicilər aşağıdakılardır:
1. public – bu hüquq təyinedici ilə nişanlanmış xüsusiyyət və ya metod istənilən yerdə çağrıla bilər.
2. protected – bu hüquq təyinedici ilə nişanlanmış xüsusiyyət və ya metod yalnız törənmiş sinif
daxilindən çağrıla bilər. (Qeyd: Bu hüquq təyinedici haqqında Varislik mövzusunda danışılacaq.)
3. private – bu hüquq təyinedici ilə nişanlanmış xüsusiyyət və ya metod yalnız öz sinfi daxilində çağrıla bilər.
QEYD: Xüsusiyyət və ya metodun qarşısında heç bir hüquq təyinedici göstərmədikdə o avtomatik
private təyin olunur.
14. Hüquq Təyinedicilər (Access Modifiers)
Xüsusiyyətin(və ya metodun) public, protected və ya private olduğunu göstərmək üçün xüsusiyyətin
(və ya metodun) tipindən əvvəl bu açar sözlərdən birini yazmaq lazımdır:
17. Hüquq Təyinedicilər (Access Modifiers)
SİNİF OBYEKT yaratmaq və xüsusiyyətlərini, metodlarını çağırmaq
QEYD: Bu kodu icra etdikdə ona görə error baş verəcək ki,
“ad”, “soyad” xüsusiyyətləri və “Qacmaq”, “Danismaq”
metodları qarşısında heç bir hüquq təyinedici
göstərilməmişdir. Xüsusiyyət və ya metodun qarşısında
heç bir hüquq təyinedici göstərmədikdə o, avtomatik
private təyin olunur və private təyin olunmuş xüsusiyyət
və ya metod yalnız öz sinfi daxilində çağrıla bilər.
18. Konstruktorlar (Constructors)
Konstruktorlar – obyekt yaradılarkən çağrılan metodlardır. Konstruktorlar ilə metodların aşağıdakı
fərqləri var:
1. Konstruktorlar yalnız obyekt yaradılarkən çağrılır.
Metodlar isə yalnız obyekt yaradılandan sonra çağrıla bilər.
2. Konstruktorların tipi olmur. Metodların isə tipi olur. (Məs, void, int və s.)
3. Konstruktorların adı sinifin adı ilə eyni olmalıdır.
Metodlara isə istədiyimiz adı verə bilərik.
19. Konstruktorlar (Constructors)
Dedik ki, konstruktorlar yalnız obyekt yaradılarkən çağrılır. Gəlin baxaq:
Yuxarıdakı nümunədə obyekt yaradırıq və şərtimizə görə konstruktorlar yalnız obyekt
yaradılarkən çağrılır. Bəs bu nümunədə konstuktor hanı?
Obyektin qiyməti elə onun konstruktorudur. Yəni, new açar sözündən sonra yazılan “Insan()”
konstruktordur.
33. Statik və statik olmayan siniflər, xüsusiyyətlər, metodlar
C#-da siniflər, xüsusiyyətlər, metodlar statik olub-olmamağına görə iki
yerə bölünür:
1. statik olanlar
2. statik olmayanlar
Bura kimi baxdığımız nümunələr statik olmayanlara aid idi. Əgər sinfin,
xüsusiyyətin və metodun statik olduğunu göstərmək istiyiriksə qarşısında
static açar sözünü yazmalıyıq.
34. Statik siniflər
Statik sinif yaradarkən aşağıdakıları nəzərə almaq lazımdır:
1) Onun obyektini yaratmaq mümkün olmur.
Üzvlərinə müraciət etmək üçün: Sinfin_Adı.Üzvün_Adı
2) Bütün üzvləri (xüsusiyyət və metodları) statik olmalıdır.
3) Konstruktoru parametrsiz olmalıdır, static olmalıdır və heç bir hüquq
təyinedici ilə nişanlanmamalıdır.
4) Ondan törəmək olmur. (Qeyd: Bu haqda Varislik mövzusunda danışılacaq.)