Виртуальный класс пример на C#

Виртуальный класс (virtual) пример на C# (объектно-ориентированное программирование)

using System;
class Figure
{
    double x = 1;
    public virtual double X
    {
        get => x;
        set
        {
            // тернарная операция
            if (value > 0 && value < 50)
            {
                x = value;
            }
        }
    }
    public string Str
    {
        get;
        set;
    }
    public Figure(string str)
    {
        Str = str;
    }
    public virtual void Show()
    {
        Console.WriteLine(Str);
    }
}
class Quadrate : Figure
{
    public override double X
    {
        get => base.X;
        set
        {
            if (value > 18 && value < 27)
            {
                base.X = value;
            }
        }
    }
    public string StrQuad
    {
        get;
        set;
    }
    // sealed запрещает переопределение в классе
    // переопределение свойств
    public Quadrate(string Str, string strquad):base(Str)
    {
        StrQuad = strquad;
        base.X = 20;
    }
    public override void Show()
    {
        //base.Show(); // линии
        Console.WriteLine($"С помощью {Str} можно начертить {StrQuad}");
    }
}

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Figure line = new Figure("Линия");
            line.Show();

            Console.WriteLine(line.X);

            Quadrate quaddraw = new Quadrate("Линии", "Квадрат");
            quaddraw.Show();

            Console.WriteLine(quaddraw.X);
            quaddraw.X =22;
            Console.WriteLine(quaddraw.X);
            quaddraw.X = 5;
            Console.WriteLine(quaddraw.X);

        }
    }
}

Вывод программы:

Виртуальный класс пример C#

134

Leave a Reply

Ваш адрес email не будет опубликован.