c# 继承快速入门
在面向对象当中继承是非常重要的,也是面向对象的三大特性之一(继承、封装、多态),今天我们来揭开他的神秘面纱。
话不多说,我们上菜。
usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; /** *假设我们公司有两种程序员: *java程序员指的是用java语法写程序的程序员,用Jpro这个类表示; *C#程序员指的是用C#语法写程序的程序员,用Cpro这个类来表示。 *每个类都有一个WriteCode()方法。 *都属于程序员,用Programmer这个类表示。 *现在公司来了一个项目,要求派某个程序员写一个程序。 */ namespaceinheritApplication { //程序员类(基类) classProgrammer { publicstringname="我是程序员"; } //java程序员类 classJpro { publicstringname="java程序员"; publicstringlanguage="我用java语法写代码"; } //C程序员类 classCpro { publicstringname="C#程序员"; publicstringlanguage="我用C#语法写代码"; } //编写项目类 classPro:Programmer//继承基类 { publicvoidWriteProgram(Jproprogram)//继承java程序员类 { Console.WriteLine(""+program.name+":"+name+","+program.language+""); } publicvoidWriteProgram(Cproprogram) { Console.WriteLine(""+program.name+":"+name+","+program.language+""); } } //主程序 classProgram { staticvoidMain(string[]args) { Prop=newPro(); Jprop1=newJpro(); p.WriteProgram(p1); Cprop2=newCpro(); p.WriteProgram(p2); Console.ReadKey(); } } }
写好代码后我们运行看看效果!
很显然看出来,公司两个程序员都继承了程序员类。
总结:
父类包含了多少内容,派生类(子类)全部接受(包括属性字段方法等),
可以重写覆盖,使用override重写,可以使用base调用父类中的内容。
继承可以减少代码的冗余,也为程序的修改提供了很大的方便之处。
当然,如果结合接口那就完美了,下一篇中我们将提到接口的实现。
以上就是c#继承快速入门的详细内容,更多关于c#继承的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。