快捷搜索:  汽车  科技

c语言编程求长方形面积和周长:C编程使用抽象类计算圆形面积

c语言编程求长方形面积和周长:C编程使用抽象类计算圆形面积1、抽象类的派生类只能继承一个基类,也就是只能直接继承一个抽象类,但可以继承任意多个接口。using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class AbstractArea : Form { public AbstractArea() {

通过自定义的抽象类来计算圆形的面积。计算圆形面积时需要用到PI,在C#中使用math.pi常量字段来表示,它的值为3.14159265358979323846。

那么什么是抽象类?

如果一个类不与具体的事物相联系,而只是表达一种抽象的概念,仅是作为其派生类的一个基类,这样的类就是抽象类。在抽象类中声明方法时,如果加上abstract关键字,则为抽象方法。

抽象类主要用来提供多个派生类可共享的基类的公共定义。它与非抽象类的主要区别有:1、抽象类不能直接实例化

2、抽象类中可以包含抽象成员,但是非抽象类中不可以包含抽象成员

3、抽象类不能被密封,在C#中声明抽象类时需要使用abstract关键字。声明抽象类时,除abstract关键字,Class关键字和类名外,其他的都是可选项。

程序界面:

c语言编程求长方形面积和周长:C编程使用抽象类计算圆形面积(1)

程序界面

程序代码:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class AbstractArea : Form { public AbstractArea() { InitializeComponent(); } /// <summary> /// 定义一个抽象类,表示圆形结构,抽象类中有一个抽象方法,这个抽象方法并没有实体代码 /// </summary> public abstract class circle { public double r;//定义圆形半径字段 public double R//定义圆形半径属性(可读写) { get { return r; } set { r=value; } } public abstract double Area();//声明计算面积的抽象方法,该方法需要在派生类中具体实现 } /// <summary> /// 声明派生类,继承基类中的成员和方法,并重写基类中的抽象方法实现计算圆形面积 /// </summary> public class area : circle { public override double Area()//重写基类中的方法 { return Math.PI * R * R;//计算面积 } } /// <summary> /// 通过按钮计算圆形面积 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender EventArgs e) { area mj = new area();//实例化派生类 mj.R = double.Parse(tex_r.Text.ToString());//为半径属性赋值 tex_result.Text = mj.Area().ToString();//进行面积计算并转换为字符串 } } }结语:

抽象类和接口的区别主要有以下几点:

1、抽象类的派生类只能继承一个基类,也就是只能直接继承一个抽象类,但可以继承任意多个接口。

2、抽象类中,可以定义成员的实现,但接口中不可以

3、抽象类中可以包含字段、构造函数、析构函数、静态成员或常量等,接口中不可以

4、抽象类中的成员可以是私有的,只要他们不是抽象的、受保护的内部成员,只能在应用程序的代码或派生类中访问,但接口中的成员必须是公共的。

喜欢的请关注、收藏、转发!

猜您喜欢: