Təməl konseptlər

Package, Import, Class, Constructor, Method,, Variable

Hər proqramlaşdırma dilində olduğu kimi, Java-da da əsas və təməl anlayışlar mövcuddur. Bunlara, mövcud kitabxanaları çağırmaq, yeni class yaratmaq və ya hər-hansı bir dəyişkən yaratmaq daxildir.

Package

Package (Paket) yazdığımızın proyektləri kiçik modullara bölmək üçün istifadə edilir və burada biz Class-larımızı İnterface-lərimizi saxlayırıq. Package əməliyyat sistemlərindəki qovluq anlyayışları ilə eynidir. Bir nümunə versək, məsələn biz proyektdəki controller və entity-lərimizi iki ayrı package altında saxlaya bilərik.

Proyektlərimizi müxtəlif formada package-lərə bölə bilərik. Ən çox istifadə olunanlar Package by feature və Package by layer-dir. Bunları növbəti yazılarımda daha detallı izah edəcəm, lakin qısa olaraq desək, package by feature-də biz class və interface-lərimizi özəlliklərinə görə bölürük. Məsələn, proyektdə doctor adında bir özəllik olsun, onda biz DoctorController, Doctor, DoctorService və DoctorRepository class-ını doctor package altında saxlaya bilərik. Package by layer də isə, biz proyektin controller, service, repository və digər class və interface-lərimizi eyni adlı package altında saxlayırıq. Məsələn, UserController və AuthController class-larımızı biz controller package-i altında saxlıyırıq. Hər iki metodun özünə məxsus güclü və zəif xarakterləri var.

Import

Import (Daxil etmək) proyektlərdəki mövcud kitabxanaları çağırmaq üçün istifadə olunur. Məsələn, Math kitabxanasını çağıraraq müəyyən riyazi əməllər istifadə edə bilərik.

package com.app.math.using;

import static java.lang.Math.abs;

public class AbsoluteValueFinder {

    public int findAbsoluteValueOfNumber(int number) {
        return abs(number);
    }
}

Class

Class (Sinif) metodlar və dəyişənləri özündə birləşdirərək bir modul yaradır. Yəni, bir vəya bir neçə əməliyyatı özündə birləşdirərək müəyyən işləri icra edir. Məsələn bizim UserService adlı class-ımız olsun. Biz bu class-ın içində User ilə bağıı işləri icra edə bilərik. Buna misal olaraq, user-ləri listləmək, yenilərini yaratmaq və ya silmək göstərə bilərik.

package com.app.service;

import com.app.entity.User;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class UserService {

    public User findUserById(UUID userId) {
        return new User();
    }

    public List<User> findAll() {
        return new ArrayList<User>();
    }

    public void deleteUser(UUID userId) {
        
    }
}

Constructor

Constructor (Konstruktor) metodların bir növ xüsusi versiyasıdı və class instance-ı yarananda avtomatik olaraq çağırılırlar. Bir class-ın birdən çox contructor-u ola bilər, lakin müxtəlif parametrlər almaq şərti ilə. Əgər biz hər-hansı bir contructor yaratmasaq, avtomatik olaraq default constructor yaranacaq və class adı ilə eyni olacaq.

package com.app.service;

public class NumberGenerator {
    
    public NumberGenerator() {
    }

    public NumberGenerator(int generatedNumberCount) {

    }

    public NumberGenerator(int generatedNumberCount, int multiplyWith) {

    }
}

Method

Methodlar (Metod) müəyyən işləri kiçik parçalara bölmək üçün istifadə olunur. Məsələn, aşağıdakı metodların gördüyü işlər bunlardır. Biri id-ə görə istifadəçini tapır, digəri istifadəçiləri listələyir və sonuncusu istifadəçini silir.

package com.app.service;

import com.app.entity.User;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class UserService {

    public User findUserById(UUID userId) {
        return new User();
    }

    public List<User> findAll() {
        return new ArrayList<User>();
    }

    public void deleteUser(UUID userId) {
        
    }
}

Variable

Variable (Dəyişkən) müəyyən məlumatları saxlamaq üçün istifadə olunur və biz daha sonra bunlar üzərində əməliyyatlar edirik. Məsələn, name adlı dəyişkənimiz ola bilər hansıki biz bu dəyişəndə istifadəçilərin adlarını mənimsəyirik və daha sonra bunun üzərində əməliyyatlar edirik. Dəyişkənlərimizi metod içərisində vəya class daxilində yarada bilərik. Metod içərisində yaratsaq buna ancaq metod daxilində istifadə edə bilərik, yəni qırağdan bu dəyişkəni çağıra bilmərik. Lakin, class daxilində dəyişkən yaratsaq. bunu class daxilində hər bir yerdə istifadə edə bilərik və əgər dəyişkənimiz public-dirsə digər class-larda istifadə edə bilər.

package com.app.service;

import com.app.entity.User;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class UserService {

    private String deletedUserName;

    public User findUserById(UUID userId) {
        return new User();
    }

    public List<User> findAll() {
        ArrayList<User> users = new ArrayList<>();

        return users;
    }

    public void deleteUser(UUID userId) {
        deletedUserName = findUserById(UUID.randomUUID()).getUsername();
    }
}

Referanslar

Last updated