base的使用(二)

简介: c# base的使用(二)

base的使用(二)

base的用法场景主要可以概括为两种:

1、访问基类的字段

2、调用基类构造函数

base 就相当于父类Animal,方便在子类访问父类的方法和属性,简化代码。

例子1、base访问基类的方法(参考阿里云社区)

internal class Program
{
static void Main(string[] args)
{
Dog dog = new Dog();
dog.sound(); //调用子类(派生类)的方法
Console.ReadKey();
}
}

public class Animal //定义父类(基类)
{
public virtual void sound() //定义父类(基类)的方法
{
Console.WriteLine("(父类)动物的叫声:wangwangwang");
}
}
public class Dog : Animal //子类继承父类
{
public override void sound() //重载父类(基类)的方法
{
base.sound(); //在这里会先执行(父类)基类的方法,再向下执行
Console.WriteLine("(子类)动物的叫声:wowowo");
}
}

image.png
例子2 、调用基类构造函数

static void Main(string[] args)
{
    //base[beɪs] 基础,基底 
    //base的作用就相当于替代Animal,在子类中去访问父类的成员和方法
    Dog dog = new Dog(10);
    dog.sound();
}

public class Animal
{ 
    public Animal()        //父类(基类)的构造函数 
    {
        Console.WriteLine("发现未知动物");
    }
    public Animal(int a)   //父类(基类)的有参构造函数 
    {
        Console.WriteLine("发现{0}只未知动物", a);
    }
    public virtual void sound() //父类(基类)的方法(可重载)
    {
        Console.WriteLine("动物的叫声:wangwangwang");
    }
}

public class Dog : Animal
{
    public Dog()         //子类(派生类)的构造函数 
    {
        Console.WriteLine("未知动物为小狗");
    }
    public Dog(int a):base(a)   //base相当于Animal,先调用基类Animal(int a)方法
    {
        Console.WriteLine("小狗的数量为{0}", a);
    }
    public override void sound() //重载父类(基类)的方法 
    {
        base.sound();//这里会先调用父类(基类)的方法
        Console.WriteLine("再调用子类(派生类)的方法");
    }
}

image.png

相关文章
|
2月前
|
机器学习/深度学习 人工智能 API
5款靠谱的IP归属地查询服务深度测评:准确率、性能、离线库谁更强?
本文实测5款IP归属地查询工具,直击城市级定位不准痛点:广告投放偏差、风控失效。建议:先通过服务商提供的的免费测试额度验证区县级定位效果,用真实业务样本对比竞品差异,再决定是否接入离线库。高精度不是概念,而是可落地的工程能力。
746 2
|
2月前
|
存储 弹性计算 安全
跨境独立站轻量化上云与高可用架构实践
Taoify是国产零代码跨境建站SaaS,深度集成阿里云:1小时极速上线,CDN全球加速保障海外访问,WAF+SSL+TDE全链路安全合规,弹性扩缩容应对大促峰值。轻量部署、开放API、多语言/汇率/SEO一体化,助力中小商家低成本打造高可用独立站。(239字)
|
2月前
|
人工智能 数据挖掘 调度
一个人如何完成一个部门的工作?
OPD“一人部门”是AI智能体时代的新职场范式:一人统筹目标与决策,AI智能体与自动化工作流承接选题、文案、设计、剪辑、分析等重复性任务。核心在于“人调度AI”,而非替代人力,实现部门级高效产出。(239字)
200 0
|
2月前
|
人工智能 运维 网络安全
我这半年实际使用过的 4 款 SSH 工具体验分享
本文精选4款主流SSH工具:轻量稳定的PuTTY、Windows全能神器MobaXterm、跨平台云同步的Termius,以及AI驱动的智能终端Aeroshell,覆盖从经典运维到AI辅助新场景,助开发者与运维人员高效管理服务器。(239字)
1149 1
我这半年实际使用过的 4 款 SSH 工具体验分享
|
2月前
|
C#
base的使用(一)
c# base的使用(一)
接口与类的关系(一)
接口与类的关系(一)1.一个类继承一个接口 2.一个类继承两个接口 3.一个类继承三个接口 4.两个类继承一个接口 5.三个类继承一个接口
|
2月前
|
人工智能 供应链 新能源
导热材料从立项到维护的多维协作链路
本文剖析越南导热材料本地配套生态:随中资散热模组厂加速落地(北宁、海防等地),AI服务器高功率散热需求催生对相变材料、导热凝胶等高性能界面材料的迫切需求。产业链呈现“国际原厂(陶氏等)+本地技术子公司+越南法人商务伙伴(如DAPEX)+中资模组厂(如Naxin)”三层协作模式,聚焦立项陪跑、方案适配、量产交付全周期综合服务,而非单纯产品供应。(239字)
345 3
|
2月前
|
C#
C# 用类的思想设计简易外卖订单管理系统(控制台)
C# 用类的思想设计简易外卖订单管理系统(控制台) 1.菜品类 (这个是最底层的类) 在菜品类中实现构造方法,添加菜品,打印菜品列表,计算菜品列表总价 2. 订单类(这是中间层的类) 实现订单的构造函数,打印订单信息(调用菜品类打印菜品列表) 3. 外卖系统类(这是外层类) 实现创建订单,保存订单到本地文件,访问本地文件显示订单列表
|
2月前
|
数据安全/隐私保护
一文说清while循环、do-while循环、for循环
一文说清while循环、do-while循环、for循环