如何在C#项目中使用继承
短信预约 -IT技能 免费直播动态提醒
如何在C#项目中使用继承?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
声明一个抽象类
//基类 abstract class Shape { //抽象方法 计算面积 public abstract double ComputerArea(); }
声明子类
//子类 继承Shape 实现抽象方法 class Circle : Shape { private double _radius; //构造函数 public Circle(double radius) => _radius = radius; //实现抽象方法 public override double ComputerArea() { return _radius * _radius * Math.PI; } } //子类 继承Shape 实现抽象方法 class Rectangle : Shape { private double _width; private double _height; //构造函数 public Rectangle(double width, double height) { _width = width; _height = height; } //实现抽象方法 public override double ComputerArea() { return _width * _height; } } //子类 继承Shape 实现抽象方法 class Triangle : Shape { private double _bottom; private double _height; //构造函数 public Triangle(double bottom, double height) { _bottom = bottom; _height = height; } //实现抽象方法 public override double ComputerArea() { return _bottom * _height / 2; } }
声明计算类
//计算类 class Calculate { //传入一个父类作为参数,调用方法 public void Calc(Shape shape) { Console.WriteLine($"{shape.GetType().Name}的面积:{shape.ComputerArea()}"); } }
测试
class Program { static void Main(string[] args) { var circle = new Circle(5); var rect = new Rectangle(5, 10); var triangle = new Triangle(6, 8); var calc = new Calculate(); calc.Calc(circle); calc.Calc(rect); calc.Calc(triangle); } }
运行结果
实际上 如果是只有这个方法要实现的话,继承接口也是可以的!
实例扩展:
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace inheritApplication{ //程序员类(基类) class Programmer { public string name = "我是程序员"; } //java程序员类 class Jpro { public string name = "java程序员"; public string language = "我用java语法写代码"; } //C程序员类 class Cpro { public string name = "C#程序员"; public string language = "我用C#语法写代码"; } //编写项目类 class Pro : Programmer //继承基类 { public void WriteProgram(Jpro program) //继承java程序员类 { Console.WriteLine("" + program.name + ":" + name + "," + program.language + ""); } public void WriteProgram(Cpro program) { Console.WriteLine("" + program.name + ":" + name + "," + program.language + ""); } } //主程序 class Program { static void Main(string[] args) { Pro p = new Pro(); Jpro p1 = new Jpro(); p.WriteProgram(p1); Cpro p2 = new Cpro(); p.WriteProgram(p2); Console.ReadKey(); } }}
C#是什么
C#是一个简单、通用、面向对象的编程语言,它由微软Microsoft开发,继承了C和C++强大功能,并且去掉了一些它们的复杂特性,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程从而成为.NET开发的首选语言,但它不适用于编写时间急迫或性能非常高的代码,因为C#缺乏性能极高的应用程序所需要的关键功能。
看完上述内容,你们掌握如何在C#项目中使用继承的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注编程网行业资讯频道,感谢各位的阅读!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341