Bilidiyimiz kimi Java proqramlaşdırma dilindəki proqramlar siniflərdən təşkil olunub.Bütün siniflər eyni quruluşa malikdirlər.Aralarındakı fərq sadəcə daxillərindəki metod və dəyişənlərdir.Lakin bu o demək deyil ki, bir sinif içində mütləq dəyişən və ya metod olmalıdır.Bu bizim yazacağımız proqramdan asılıdır.
Java proqramlaşdırma dili obyekt yönümlü bir dil olduğu üçün obyektlər də siniflərə əsaslanır.
Obyekt nədir?Ətrafımızda gözlə görə bildiyimiz hər bir şey obyektdir.Bəzi obyektlər bir yerə gələrək yeni obyektlərin yaranmasına səbəb olur.Proqramlaşdırmada da belədi.Beləki,proqramlaşdırmada hər hası obyektə misal göstərmək üçün sinif lazımdı.
Sadə bir sinif göstərək.
public class BosSinif
{
}
Əlbəttə bu sadəcə sinifin nə olduğunu göstərmək üçün verdiyim heç bir mənası olmayan nümunədir.
İndi isə metod və dəyişənlərlə bol aşağıdakı sinifə baxaq və onu araşdıraq.
public class Sinif1
{
private int dəyər1;
private int dəyər2;
public Sinif1()
{
dəyər 1=10;
dəyər 2=15;
}
public Sinif1(int d1,int d2)
{
dəyər1=d1;
dəyər2=d2;
}
public Sinif1 (int d1)
{
dəyər1=d1;
}
public void Yaz()
{
System.out.println("Dəyər1:"+ dəyər1+"Dəyər2:"+ dəyər2);
}
}
Göründüyü kimi Sinif1 adlı sinif yaratdıq.Bu sinif 3 dənə eyni adlı metodlardan təşkil olunub.Bu metodları işlətmək üçün aşağıdakı Program adlı sinifi yaradaq.
public class Program
{
public static void main(String[] args)
{
Sinif1 birinciobyekt=new Sinif1();
birinciobyekt.Yaz();
Sinif1 ikinciobyekt =new Sinif1(18,24)ı
ikinciobyekt.Yaz();
Sinif1 ucuncuobyekt =new Sinif1(45);
ucuncuobyekt.Yaz();
}
}
İndi isə proqramı işlədək.Nəticədə aşadakıları alarıq.
Dəyər1:10 Dəyər2:15
Dəyər1:18 Dəyər2:24
Dəyər1:45 Dəyər2:0
Lakin əgər biz
public class Sinif2
{
private int dəyər1;
private int dəyər2;
public Sinif2(int d1,int d2)
{
dəyər1=d1;
dəyər2=d2;
}
public Sinif2 (int d1)
{
dəyər1=d1;
}
public void Yaz()
{
System.out.println("Dəyər1:"+ dəyər1+"Dəyər2:"+ dəyər2);
}
}
Və proqram daxilində yazaq.
public class Program
{
public static void main(String[] args)
{
Sinif2 obyekt=new Sinif2();
Obyekt.Yaz();
}
}
Proqramı işlətsək görərik ki,səhv göstərəcək.Çünki,Javada vəziyyət fərqlidir.Beləki burada metodlar yalnız parametrlərinə görə fərqlərinlər.Metodların tiplərinin onların fərqlənməsinə heç bir təsiri yoxdu.Lakin biz
{
Sinif2 obyekt=new Sinif2(12,20);
Obyekt.Yaz();
}
yazsaq səhv ardan qalxacaq.
Комментариев нет:
Отправить комментарий