Sobes.tech
Junior

Proqramlaşdırma və test kontekstində obyekt yaradılması nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Obyekt yaradılması (Object Instantiation) — bu sinfinin konkret nümunələrinin (obyektlərin) yaradılması prosesidir. Sinif, gələcək obyektlərin xüsusiyyətlərini (atributlar) və davranışlarını (metodlar) təyin edən cızıq və ya şablon kimi çıxış edir, obyekt yaradılması isə bu cızığı həyata keçirərək yaddaş ayırır və bu xüsusiyyətləri həmin nümunə üçün ilkin vəziyyətə gətirir.

Proqramlaşdırma kontekstində, bu obyekt yönümlü yanaşmanın əsasını təşkil edir və proqramların qarşılıqlı əlaqədə olan obyektlər ətrafında qurulmasına imkan verir.

Testlərdə, obyekt yaradılması bir neçə səbəbdən vacibdir:

  • Biznes məntiqinin test edilməsi: Funksionallığı yoxlamaq üçün, bu məntiqi həyata keçirən sinif nümunələri ilə işləmək lazımdır. Test ssenariləri üçün müəyyən vəziyyətlərə malik obyektlər yaradılır.
  • Testlərin izolyasiyası: Çox vaxt, test olunan sinfin asılılıqları üçün mock obyektlər və ya stublar yaratmaq lazımdır. Bu, test olunan komponenti izolyasiya etməyə və xarici amillərin təsirini azaltmağa imkan verir, bu da səhvlərin tapılmasını asanlaşdırır.
  • Obyektin həyat dövrünün test edilməsi: Obyektin düzgün yaradılması, başlanğıc, istifadə və məhv edilməsi (avtomatik yaddaş idarə edən dillərdə garbage collection) yoxlanılır.
  • Vəziyyətin test edilməsi: Müxtəlif başlanğıc vəziyyətlərinə malik obyektlər (məsələn, boş siyahı, dolu siyahı, yalnış məlumatlar) yaradılır və sərhəd halların idarə olunması yoxlanılır.

Python nümunəsi:

class Car:
    def __init__(self, make, model):
        # Atributların ilkinləşdirilməsi
        self.make = make
        self.model = model

    def display_info(self):
        # Obyekt metodu
        print(f"Car: {self.make} {self.model}")

# Obyekt yaradılması - Car sinfinin nümunəsi
my_car = Car("Toyota", "Camry")

# Obyektin istifadəsi
my_car.display_info()

# Eyni sinifdən başqa obyekt yaradılması
another_car = Car("Honda", "Civic")
another_car.display_info()

Bu nümunədə, Car sinifdir və my_caranother_car bu sinif istifadə edilərək yaradılmış obyektlərdir. Hər obyektin makemodel atributları üçün öz dəyərləri var.