抽象类达成求圆的面积【分分快三计划】

作者:编程技术

有人评论说上面的代码是我复制粘贴过来的,确实是。我是因为这上面有注释适合初学者学习。也很好理解。这上面的代码和我写的也差不多,那好吧,有些人不希望需要这样的代码,我就把自己写的发出来吧,哈哈神奇
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

    {

namespace _005
{
    public abstract class MyClass
    {
        private int myVar;

        public int MyProperty
        {
            get { return myVar; }
            set { myVar = value; }
        }
        public abstract double Area();
    }
    public class cx : MyClass
    {
        public override double Area()
        {
            return Math.PI * MyProperty * MyProperty;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {            
            //MyClass c = new cx();
            cx c = new cx();

            c.MyProperty = 10;
            double d = c.Area();
            Console.WriteLine(d);
            Console.ReadKey();
        }
    }
}

       public override void DrivedMethod()

namespace 抽象类实现求圆的面积
{
    public abstract class myClass
    {
        private int r = 0;
        /// <summary>
        /// 圆半径
        /// </summary>
        public int R
        {
            get { return r; }
            set { r = value; }
        }
        /// <summary>
        /// 抽象方法,用来计算圆面积
        /// </summary>
        public abstract double Area();
    }
    public class DriveClass : myClass//继承抽象类
    {
        /// <summary>
        /// 重写抽象类中计算圆面积的方法
        /// </summary>
        public override double Area()
        {
            return Math.PI * R * R;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            DriveClass driveclass = new DriveClass();//实例化派生类
            myClass myclass = driveclass;//使用派生类对象实例化抽象类
            myclass.R = 3;//使用抽象类对象访问抽象类中的半径属性
            Console.WriteLine("圆面积为:"   myclass.Area());//使用抽象类对象调用派生类中的的方法
            Console.ReadKey();
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

 

    class Program

using System.Threading.Tasks;

    }

namespace 抽象类

            driveClass.BaseMethod();

}

using System.Threading.Tasks;

 

            Console.WriteLine();

分分快三计划 1

using System.Threading.Tasks;

        }

 

            driveClass.DrivedMethod();

    }

            //Console.WriteLine();

            //BaseClass baseClass = new DrivedClass();

       }

using System.Collections.Generic;

{

            //Console.ReadKey();

        static void Main(string[] args)

  • 抽象类使用abstract修饰符声明;
  • 不能创建抽象类的实例;
  • 抽象类只能用作其他类的基类;
  • 抽象类中可以包含抽象成员和普通的非抽象成员;
  • 抽象类自己可以派生自另外一个抽象类;
  • 任何派生自抽象类的【类】,必须使用override关键字,实现该抽像类所有的抽像成员,除非派生类自己也是抽象类。

            Console.ReadKey();

using System.Text;

 

using System;

}

           //throw new NotImplementedException();

 

using System.Text;

3.程序调用:

using System;

            //baseClass.BaseMethod();

   public class DrivedClass:BaseClass

 

 

namespace 抽象类

using System.Collections.Generic;

       {

 

using System.Collections.Generic;

 

1.基类

{

 

       public void BaseMethod()

 

            DrivedClass driveClass = new DrivedClass();

            //baseClass.DrivedMethod();

       }

   public abstract class BaseClass

上面注释的代码,和没有注释的代码,执行的效果是一样的。

    {

 

           Console.WriteLine("我是抽象类中的非抽象方法");

using System.Linq;

 

 

using System.Linq;

        {

    }

    {

using System.Text;

           Console.WriteLine("我是子类【派生类】中的重写方法");

示例:

 

using System.Linq;

}

2.子类

namespace 抽象类

using System;

{

 分分快三计划 2

       public abstract void DrivedMethod();

 

       {

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 C#