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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。