先说一下自己对类的理解吧。类就是指将一系列具有一些共同特性的事物归纳起来,按照不同的特性分为不同的类。比如在现实世界中人是一类,动物是一类。植物 又是一类。但他们都是生命这一类的派生类。他们都继承了生命类的一些特性。但他们各自又有一些不同的属性。在计算机世界中也有这样的类。类这一特性在面向 对象的语言中就有很好的体现。
个人理解C#中的抽象类是将某些类都具有的一些特性收集起来。然后再用这个抽象类来定义一些子类。当然这些子类可以自己再扩充一些私有的属性和方法。比如 正方形和长方形他们都具有的属性是面积,周长等属性。但是他们又有一些不同的属性和方法,比如长方形有长和宽。正方形只有一个边长。他们各自的面积和周长 的计算方法也不一样。下面就举例来说明。上代码。。。
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(); } } }
|
请发表评论