200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 分别用类的继承 虚函数 抽象类继承 接口实现计算球 圆柱 圆锥的表面积和体积。

分别用类的继承 虚函数 抽象类继承 接口实现计算球 圆柱 圆锥的表面积和体积。

时间:2020-01-07 15:10:05

相关推荐

分别用类的继承 虚函数 抽象类继承 接口实现计算球 圆柱 圆锥的表面积和体积。

目录

AbstrackClass.csClass.csInterface.csVirtualFunction.csProgram.cs

AbstrackClass.cs

//利用抽象类计算球、圆柱、圆锥的表面积和体积using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp33{//抽象类abstract class Circle{protected double radius;protected double height;abstract public double CalSuperficialArea();abstract public double CalVolume();}//计算球的表面积和体积class Sphere : Circle{public Sphere(double r){radius = r; }public override double CalSuperficialArea() //计算表面积{return (4 * Math.PI * radius * radius); }public override double CalVolume() //计算体积{return (4 / 3 * Math.PI * radius * radius * radius); }}//计算圆柱的表面积和体积class Cylinder : Circle{public Cylinder(double r, double h){radius = r;height = h;}public override double CalSuperficialArea() //计算表面积{return (2 * Math.PI * radius * radius + 2 * Math.PI * radius * height); }public override double CalVolume() //计算体积{return (Math.PI * radius * radius * height); }}//计算圆锥的表面积和体积class Cone : Circle{public Cone(double r, double h){radius = r;height = h;}public override double CalSuperficialArea() //计算表面积{return (Math.PI * radius * (radius + Math.Sqrt(height * height + radius * radius))); }public override double CalVolume() //计算体积{return (Math.PI * radius * radius * height) / 3; }}}

Class.cs

//利用类的继承计算球、圆柱、圆锥的表面积和体积using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp31{//基类class Circle{protected double radius;protected double height;}//计算球的表面积和体积class Sphere : Circle{public Sphere(double r){radius = r;}public double CalSuperficialArea() //计算表面积{return (4 * Math.PI * radius * radius); }public double CalVolume() //计算体积{return (4 / 3 * Math.PI * radius * radius * radius); }}//计算圆柱的表面积和体积class Cylinder : Circle{public Cylinder(double r, double h){radius = r;height = h;}public double CalSuperficialArea() //计算表面积{return (2 * Math.PI * radius * radius + 2 * Math.PI * radius * height); }public double CalVolume() //计算体积{return (Math.PI * radius * radius * height); }}//计算圆锥的表面积和体积class Cone : Circle{public Cone(double r, double h){radius = r;height = h;}public double CalSuperficialArea() //计算表面积{return (Math.PI * radius * (radius + Math.Sqrt(height * height + radius * radius))); }public double CalVolume() //计算体积{return (Math.PI * radius * radius * height) / 3; }}}

Interface.cs

//利用接口计算球、圆柱、圆锥的表面积和体积using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp34{//接口声明public interface ICalArea{double CalSuperficialArea(); //计算表面积double CalVolume(); //计算体积}//计算球的表面积和体积public class Sphere : ICalArea{private double radius;//半径public Sphere(double r){radius = r;}public double CalSuperficialArea() //计算表面积{return (4 * Math.PI * radius * radius);}public double CalVolume() //计算体积{return (4/3 * Math.PI * radius * radius * radius);}}//计算圆柱的表面积和体积public class Cylinder : ICalArea{private double radius, height;//半径、高public Cylinder(double r, double h){radius = r;height = h;}public double CalSuperficialArea() //计算表面积{return (2 * Math.PI * radius * radius + 2 * Math.PI * radius * height);}public double CalVolume() //计算体积{return (Math.PI * radius * radius * height);}}//计算圆锥的表面积和体积public class Cone : ICalArea{private double radius, height;//半径、高public Cone(double r, double h){radius = r;height = h;}public double CalSuperficialArea() //计算表面积{return (Math.PI * radius * (radius + Math.Sqrt(height * height + radius * radius)));}public double CalVolume() //计算体积{return (Math.PI * radius * radius * height)/3;}}}

VirtualFunction.cs

//利用虚函数计算球、圆柱、圆锥的表面积和体积using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp32{//基类class Circle{protected double radius;protected double height;public virtual double CalSuperficialArea(){return 0; }public virtual double CalVolume(){return 0; }}//计算球的表面积和体积class Sphere : Circle{public Sphere(double r){radius = r; }public override double CalSuperficialArea() //计算表面积{return (4 * Math.PI * radius * radius); }public override double CalVolume() //计算体积{return (4 / 3 * Math.PI * radius * radius * radius); }}//计算圆柱的表面积和体积class Cylinder : Circle{public Cylinder(double r, double h){radius = r;height = h;}public override double CalSuperficialArea() //计算表面积{return (2 * Math.PI * radius * radius + 2 * Math.PI * radius * height); }public override double CalVolume() //计算体积{return (Math.PI * radius * radius * height); }}//计算圆锥的表面积和体积class Cone : Circle{public Cone(double r, double h){radius = r;height = h;}public override double CalSuperficialArea() //计算表面积{return (Math.PI * radius * (radius + Math.Sqrt(height * height + radius * radius))); }public override double CalVolume() //计算体积{return (Math.PI * radius * radius * height) / 3; }}}

Program.cs

//分别用类的继承、虚函数、抽象类继承、接口计算球、圆柱、圆锥的表面积和体积using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApp30{class Program{static void Main(string[] args){//利用类的继承实现ConsoleApp31.Sphere sp1 = new ConsoleApp31.Sphere(2);ConsoleApp31.Cylinder cd1 = new ConsoleApp31.Cylinder(2, 10);ConsoleApp31.Cone cn1 = new ConsoleApp31.Cone(2, 20);Console.WriteLine("利用类的继承实现");Console.WriteLine("球的表面积:{0}\t球的体积:{1}", sp1.CalSuperficialArea(), sp1.CalVolume());Console.WriteLine("圆柱的表面积:{0}\t圆柱的体积:{1}", cd1.CalSuperficialArea(), cd1.CalVolume());Console.WriteLine("圆锥的表面积:{0}\t圆锥的体积:{1}\n", cn1.CalSuperficialArea(), cn1.CalVolume());//利用虚函数实现ConsoleApp32.Sphere sp2 = new ConsoleApp32.Sphere(2);ConsoleApp32.Cylinder cd2 = new ConsoleApp32.Cylinder(2, 10);ConsoleApp32.Cone cn2 = new ConsoleApp32.Cone(2, 20);Console.WriteLine("利用虚函数实现");Console.WriteLine("球的表面积:{0}\t球的体积:{1}", sp2.CalSuperficialArea(), sp2.CalVolume());Console.WriteLine("圆柱的表面积:{0}\t圆柱的体积:{1}", cd2.CalSuperficialArea(), cd2.CalVolume());Console.WriteLine("圆锥的表面积:{0}\t圆锥的体积:{1}\n", cn2.CalSuperficialArea(), cn2.CalVolume());//利用抽象类继承实现ConsoleApp33.Sphere sp3 = new ConsoleApp33.Sphere(2);ConsoleApp33.Cylinder cd3 = new ConsoleApp33.Cylinder(2, 10);ConsoleApp33.Cone cn3 = new ConsoleApp33.Cone(2, 20);Console.WriteLine("利用抽象类实现");Console.WriteLine("球的表面积:{0}\t球的体积:{1}", sp3.CalSuperficialArea(), sp3.CalVolume());Console.WriteLine("圆柱的表面积:{0}\t圆柱的体积:{1}", cd3.CalSuperficialArea(), cd3.CalVolume());Console.WriteLine("圆锥的表面积:{0}\t圆锥的体积:{1}\n", cn3.CalSuperficialArea(), cn3.CalVolume());//利用接口实现ConsoleApp34.Sphere sp4 = new ConsoleApp34.Sphere(2);ConsoleApp34.Cylinder cd4 = new ConsoleApp34.Cylinder(2, 10);ConsoleApp34.Cone cn4 = new ConsoleApp34.Cone(2, 20);Console.WriteLine("利用接口实现");Console.WriteLine("球的表面积:{0}\t球的体积:{1}", sp4.CalSuperficialArea(), sp4.CalVolume());Console.WriteLine("圆柱的表面积:{0}\t圆柱的体积:{1}", cd4.CalSuperficialArea(), cd4.CalVolume());Console.WriteLine("圆锥的表面积:{0}\t圆锥的体积:{1}", cn4.CalSuperficialArea(), cn4.CalVolume());}}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。