Головна‎ > ‎C#‎ > ‎Класи‎ > ‎

Абстрактний клас

1. Клас від якого не можна створити екземпляр (об'єкт)
2. Приховує деталі залишаючи лише важливу інформацію 
3. Абстрактні методи мають обов'язково реалізовуватися в нащадках
4. Абстрактний клас може містити реалізовані методи
5. Якщо хоч один метод є абстрактним то і класу треба дописати abstract 
6. Порівняння з інтерфейсом


        abstract class Figure
        {
            public abstract float Perimeter();
            public abstract float Area();
        }

        class Rectangle : Figure
        {
            public float Width { get; set; }
            public float Height { get; set; }

            public Rectangle(float width, float height)
            {
                this.Width = width;
                this.Height = height;
            }

            // забов'язані релізувати
            public override float Perimeter()
            {
                return Width * 2 + Height * 2;
            }

            public override float Area()
            {
                return Width * Height;
            }
        }

        static void Main(string[] args)
        {
            //Figure a = new Figure(); - не можемо визвати конструктор
            Figure r1 = new Rectangle(10,20);    // або Rectangle r1 
            Console.WriteLine(r1.Perimeter());    // 60  
        }