⚔️Class Vs Object

რა არის კლასი

კლასი წარმოადგენს დეველოპერის მიერ განსაზღვრულ მონაცემთა ტიპს. უფრო ზუსტად კი ის არის ობიექტების შაბლონი, რომელშიც აღწერილია რა ინფორმაცია უნდა გააჩნდეს ობიექტს, რა ქმედებების განხორციელება უნდა შეეძლოს მას და ა.შ. რომ შევაჯამოთ, კლასი განსაზღვრას მომავალში მის მიხედვით შექმნილი ობიექტების ბუნებას. მაგალითად შემდეგ კოდში განსაზღვრულია, რა თვისებები და ფუნქციონალი უნდა გააჩნდეს Human კლასის მიხედვით შექმნილ ობიექტს.

<?php

class Human
{
    public string $name;      // სახელი
    public string $lastName;  // გვარი
    public int $age;          // ასაკი
    
    // დაბეჭდე ინფორმაცია ადამიანზე
    public function printFullName(){
        echo $this->name.' '. $this->lastName.' '.$this->age .' years old.';
    }
}

რა არის ობიექტი OOP-ში.

ობიექტი წარმოადგენსს კლასის ინსტანსს (instance - კონკრეტული შემთხვევა). მაგალითად ქვემოთ მოცემულ კოდში, ცვლადებში $quentin და $samuel ინახება Human კლასის ინსტანსები, ანუ ორივე Human კლასის კონკრეტულ შემთხვევებს წარმოადგენენ. მათში შენახული ინფორმაციის მნიშვნელობა კი განსხვავდება ერთმანეთისაგან., მაგალითად განსხვავებული სახელები აქვთ. განსხვავების მიუხედავათ ისინი ექვემდებარებიან ერთ შაბლონს და გააჩნიათ იდენტური მონაცემთა სტრუქტურა. რომელიც კლასით არის განსაზღვრული.

<?php

class Human
{
    public string $name;
    public string $lastName;
    public int $age;
    
    public function printFullName(){
        echo $this->name.' '. $this->lastName.' '.$this->age .' years old.';
    }
}

// object 1
$quentin= new Human();
$quentin->name = 'Quentin ';
$quentin->lastName = 'Tarantino';
$quentin->age = 58;

// object 2
$samuel = new Human();
$samuel ->name = 'Samuel ';
$samuel ->lastName = 'L. Jackson';
$samuel ->age = 73;

🍻 შეჯამება: Class Vs Object

კლასი წარმოადგენს ობიექტის შაბლონს ხოლო ობიექტი კი ამ შაბლონის მიხედვით შექმნილ კონკრეტულ შემთხვევას ანუ კლასის ინსტანსს.

<?php

class Human
{
    public string $name;
    public string $lastName;
    public int $age;
    
    public function printFullName(){
        echo $this->name.' '. $this->lastName.' '.$this->age .' years old.';
    }
}

// object 1
$quentin= new Human();
$quentin->name = 'Quentin ';
$quentin->lastName = 'Tarantino';
$quentin->age = 58;

// object 2
$samuel = new Human();
$samuel ->name = 'Samuel ';
$samuel ->lastName = 'L. Jackson';
$samuel ->age = 73;

Last updated