کلاس (Class) قالبی برای تعریف وضعیت و رفتار آبجکتها در زبانهای آبجکتگراست. Class میتواند Property، Method، Constructor و قواعد سطح دسترسی داشته باشد. مفهوم کلاس در PHP، Python و C# وجود دارد، اما Go کلاس به معنای رایج ندارد و از Struct، Interface و Method برای سازماندهی رفتار استفاده میکند.
مثال کلاس در PHP و پایتون
final class Product {
public function __construct(public string $name, public int $price) {}
}
$product = new Product('Laptop', 50000000);
class Product:
def __init__(self, name: str, price: int):
self.name, self.price = name, price
product = Product("Laptop", 50000000)
مدلسازی معادل در Go و C#
type Product struct { Name string; Price int }
product := Product{Name: "Laptop", Price: 50000000}
public class Product {
public required string Name { get; init; }
public decimal Price { get; init; }
}
var product = new Product { Name = "Laptop", Price = 50000000 };
برای طراحی خوب، دانستن انکپسولیشن، ابسترکشن و اینترفیس مهمتر از تعداد کلاسهای پروژه است.