关于在C#中对抽象类的理解

     先说一下本身对类的理解吧。类就是指将一系列具备一些共同特性的事物概括起来,按照不一样的特性分为不一样的类。好比在现实世界中人是一类,动物是一类。植物 又是一类。但他们都是生命这一类的派生类。他们都继承了生命类的一些特性。但他们各自又有一些不一样的属性。在计算机世界中也有这样的类。类这一特性在面向 对象的语言中就有很好的体现。函数

     我的理解C#中的抽象类是将某些类都具备的一些特性收集起来。而后再用这个抽象类来定义一些子类。固然这些子类能够本身再扩充一些私有的属性和方法。好比 正方形和长方形他们都具备的属性是面积,周长等属性。可是他们又有一些不一样的属性和方法,好比长方形有长和宽。正方形只有一个边长。他们各自的面积和周长 的计算方法也不同。下面就举例来讲明。上代码。。。spa

using System;
namespace ab_cl
{
    abstract class shape//定义一个抽象类( 要使用关键字abstract,不一样于普通类的定义)
    {
        double area; //定义一个成员(面积)
    }
    class a:shape//定义一个长方形的类
    {
      private double length;//长方形的私有属性长
      private double width;//长方形的私有属性宽
        public a(double len, double wid)//定义一个带参的构造函数。主要用于长,宽的赋值
        {
            length = len;
            width = wid;
        }
        public double area()//用于计算长方形的面积
        {
            return length * width;
        }
        public double zhouchang()//用于计算长方形的周长
        {
            return (length + width) * 2;
        }
    }
    class b : shape//定义一个正方形的类
    {
      private double width;//定义正方形的私有属性边长
        public b(double wid)//定义一个带参的构造函数。主要用于边长的赋值
        {
            width = wid;
        }
        public double area()//计算正方形的面积
        {
            return width*width;
        }
        public double zhouchang()//用于计算正方形的周长
        {
            return width * 4;
        }
    }
    class c
    {
        static void Main()//入口函数
        {
            a t = new a(2.5, 1.2);//将长方形这个类实例化为对象
            b t1 = new b(2.5);//将正方形这个类实例化为对象
            Console.WriteLine("C#中抽象类的应用:");
            Console.WriteLine("长方形的面积是:{0}", t.area());
            Console.WriteLine("长方形的周长是:{0}", t.zhouchang());
            Console.WriteLine("正方形的面积是:{0}",t1.area());
            Console.WriteLine("正方形的周长是:{0}", t1.zhouchang());
            Console.ReadKey();
        }
    }
}对象

相关文章
相关标签/搜索