آموزش برنامه نویسی با سی شارپ C# - قسمت 10 – کلاس (Class)

زمان مطالعه: 3 دقیقه زمان ویدیو: 13m51s لینک یوتیوب لینک آپارات

کلاس (Class) چیه؟

ساخت کلاس Player

class Player
{
    bool isDead = false;
    float health = 100f;
    int hits = 0;
    void PrintPlayerStats()
    {
        Console.WriteLine($"Health: {health} | Dead: {isDead} | Hits: {hits}.");
    }
    float TakeDamage(float amount = 1f)
	{
	    if (isDead)
	    {
	        return health;
	    }
	    health -= amount;
	    hits++;
	    if (health <= 0f)
	    {
	        isDead = true;
	        health = 0f;
	    }
	    PrintPlayerStats();
	    return health;
	}
}

ساخت یک Player جدید

Player ali = new Player();
ali.TakeDamage();
Player ali = new Player();
ali.TakeDamage();
Player reza = new Player();
reza.TakeDamage(3);

فیلد coin

Player ali = new Player();
ali.TakeDamage();
Player reza = new Player();
reza.TakeDamage(3);


class Player
{
    bool isDead = false;
    float health = 100f;
    int hits = 0;
    int coins = 0;
    void PrintPlayerStats()
    {
        Console.WriteLine($"Health: {health} | Dead: {isDead} | Hits: {hits}.");
        Console.WriteLine($"Coins: {coins}");
    }
    float TakeDamage(float amount = 1f)
	{
	    if (isDead)
	    {
	        return health;
	    }
	    health -= amount;
	    hits++;
	    if (health <= 0f)
	    {
	        isDead = true;
	        health = 0f;
	    }
	    PrintPlayerStats();
	    return health;
	}
}

اضافه کردن PlayerName

Player ali = new Player();
ali.playerName = "Ali";
ali.TakeDamage();

Player reza = new Player();
reza.playerName = "Reza";
reza.TakeDamage(3);
class Player
{
    bool isDead = false;
    float health = 100f;
    int hits = 0;
    int coins = 0;
    public string playerName = "No Name";
    void PrintPlayerStats()
    {
        Console.WriteLine($"Name: {playerName}");
        Console.WriteLine($"Health: {health} | Dead: {isDead} | Hits: {hits}.");
        Console.WriteLine($"Coins: {coins}");
    }
    public float TakeDamage(float amount = 1f)
    {
        if (isDead)
        {
            return health;
        }
        health -= amount;
        hits++;
        if (health <= 0f)
        {
            isDead = true;
            health = 0f;
        }
        PrintPlayerStats();
        return health;
    }
}

Field, Method, Instance, Object, Initialization

استفاده از تایپمون به عنوان یک فیلد

Car honda = new Car();
honda.Drive();

CarBooster booster = new CarBooster();
booster.car = honda;
booster.BoostSpeed(80f);

class Car
{
    public float speed = 99f;
    public void Drive()
    {
        Console.WriteLine($"Driving {speed}kmph...");
    }
}
class CarBooster
{
    public Car car;
    public void BoostSpeed(float speed)
    {
        Console.WriteLine("Boosting Speed ...");
        Console.WriteLine($"New Speed: {car.speed + speed}");
    }
}

استفاده از تایپمون توی return

CarFactory factory = new CarFactory();
Car honda = factory.Create(120f);
honda.Drive();

Car bmw = factory.Create(160f);
bmw.Drive();

class Car
{
    public float speed = 99f;
    public void Drive()
    {
        Console.WriteLine($"Driving {speed}kmph...");
    }
}

class CarFactory
{
    public Car Create(float speed)
    {
        Car car = new Car();
        car.speed = speed;
        Console.WriteLine($"Car Created. Speed: {car.speed}kmph!");
        return car;
    }
}

پاس دادن تایپمون به عنوان پارامتر

CarFactory factory = new CarFactory();
Car honda = factory.Create(120f);
honda.Drive();

Car bmw = factory.Create(160f);
bmw.Drive();

Parking parking = new Parking();
parking.Park(honda);
parking.Park(bmw);
class Car
{
    public float speed = 99f;
    public void Drive()
    {
        Console.WriteLine($"Driving {speed}kmph...");
    }
}

class CarFactory
{
    public Car Create(float speed)
    {
        Car car = new Car();
        car.speed = speed;
        Console.WriteLine($"Car Created. Speed: {car.speed}kmph!");
        return car;
    }
}

class Parking
{
    public void Park(Car car)
    {
        Console.WriteLine($"Parked. Car Speed: {car.speed}kpmh.");
    }
}

استفاده از سینتکس جدید new

Car honda = new();
honda.Drive();

Car bmw = new();
bmw.Drive();

جدا کردن فایل های کلاس