(三十)C#编程基础复习——继承
特此声明:本教程内容可能有部分参照其他博主的观点或描述,但始终不影响我学习的热情,代码全部自己手工敲打,编辑此教程目的不是为了博取大家眼球,也不是为利益所驱,只是纯属为了方便自己学习,编辑的过程中也让自己加深了对C#各个基础的印象,同时也让自己编码过程更加流畅顺利,最后还能帮助到有需要的人,代码都是自己亲测有效,如有侵权可以联系本人删除。
继承与封装和多态统称为面向对象编程的三大特性,在创建一个新类时,我们可以使用这个新定义的类继承一个已有的类,通过继承可以在创建新类时重用、扩展和修改被继承类中定义的成员。被继承的类称为“基类(父类)”,继承基类的类称为“派生来(子类)”。
需要注意的是,C#中只支持单继承,也就是说一个子类只能继承一个父类,但是继承是可以传递的,例如ClassC继承了ClassB,而ClassB继承了ClassA,那么ClassC将继承ClassB和ClassA中的所有成员。
一、父类和子类
要使用一个类继承另一个类需要使用到冒号:
,如下所示:
class 子类:基类
{
... ...
}
示例代码如下:
namespace _017
{
internal class Program
{
static void Main(string[] args)
{
Rectangle oblong = new Rectangle();
oblong.setWidth(3);
oblong.setHeight(4);
int area = oblong.getArea();
Console.WriteLine("长方形的面积为:{0}",area);
Console.ReadKey();
}
}
//父类
class Shape
{
protected int width, height;//只能在父类、子类中使用
public void setWidth(int w)
{
width = w;
}
public void setHeight(int h)
{
height = h;
}
}
//子类
class Rectangle : Shape
{
public int getArea()
{
return width * height;
}
}
}
运行结果:
二、多重继承
与单继承相反,多重继承则是指一个类可以同时继承多个基类,C#并不支持多重继承,但是可以借助接口来实现多重继承。
示例代码如下:
namespace _017
{
class Program
{
static void Main(string[] args)
{
Rectangle oblong = new Rectangle();
oblong.setWidth(3);
oblong.setHeight(4);
int area = oblong.getArea();
int girth = oblong.getGirth();
Console.WriteLine("长方形的面积为:{0}",area);
Console.WriteLine("长方形的周长为:{0}",girth);
Console.ReadKey();
}
}
//父类
class Shape
{
protected int width, height;//只能在父类、子类中使用
public void setWidth(int w)
{
width = w;
}
public void setHeight(int h)
{
height = h;
}
}
//定义接口
public interface Perimeter
{
int getGirth();
}
//子类
class Rectangle : Shape,Perimeter
{
public int getArea()
{
return width * height;
}
public int getGirth()
{
return (width + height) * 2;
}
}
}
运行结果:
分类:
C#基础
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了