lunedì 1 settembre 2014

Classi astratte con metodi non astratti in C#

Una classe astratta può avere anche dei metodi "concreti":
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication3
{
    abstract class Figura
    {
        protected int lato = 0;
        public Figura(int L)
        {
            lato = L;
        }
        public abstract int Area { get; }
        public abstract void stampaArea();

        public void dichiara()
        {
            Console.WriteLine("Questa è una figura geometrica");
            Console.ReadLine();
        }
    }

    class Quadrato : Figura
    {
        public Quadrato(int L) : base(L) { }
        public override int Area { get { return lato * lato; } }
        public override void stampaArea()
        {
            Console.WriteLine(lato * lato);
            Console.ReadLine();
        }
    }


    class Program
    {
        static void Main(string[] args)
        {
            Quadrato mioQuadrato = new Quadrato(5);
  
            Console.WriteLine(mioQuadrato.Area);
            Console.ReadLine();

            mioQuadrato.stampaArea();

            mioQuadrato.dichiara();
        }
    }
}
25

25

Questa è una figura geometrica


Nessun commento:

Posta un commento