LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C#中的类和继承

freeflydom
2025年2月15日 10:59 本文热度 513

类继承

通过继承我们可以定义一个新类,新类纳入一个已经声明的类并进行扩展。

可以使用一个已经存在的类作为新类的基础。已存在的类称为基类(base class),新类称为派生类(derived class)

基类规格说明:由冒号和后面跟着用作基类的类名称组成。

派生类被描述为直接基础列出的基类。

相关概念如下所示:

继承的成员可以被访问,就像是它们是派生类自己声明的一样。

在派生类中访问基类中的字段和方法的例子

  class SomeClass //基类

    {

        public string field1 = "base class field";

        public void Method1(string value)

        {

            Console.WriteLine($"Base class -- Method1: {value}");

        }

    }


    class OtherClass : SomeClass //派生类

    {

        public string field2 = "derived class field";

        public void Method2(string value)

        {

            Console.WriteLine($"Derived class -- Method2: {value}");

        }

    }

    internal class Program

    {

        static void Main(string[] args)

        {

           OtherClass oc = new OtherClass();    

            oc.Method1(oc.field1);

            oc.Method1(oc.field2);

            oc.Method2(oc.field1);

            oc.Method2(oc.field2);

        }

    }

运行结果如下所示:

所有的类都派生自object类

在C#中除了特殊的类object,所有的类都是派生类,即使没有基类规格说明。

在C#中一个类声明的基类规格说明中只能有一个单独的类。这称为单继承

虽然类只能直接继承一个基类,但继承的层次没有限制。

隐藏继承的成员

可以使用new修饰符来屏蔽基类成员,代码如下U所示:

class SomeClass //基类

{

public string field1 = "base class field";

public void Method1(string value)

{

Console.WriteLine($"Base class -- Method1: {value}");

}

}


class OtherClass : SomeClass //派生类

{

//使用new修饰符屏蔽基类成员

new public string field1 = "derived class field";

new public void Method1(string value)

{

Console.WriteLine($"Derived class -- Method2: {value}");

}

}

internal class Program

{

static void Main(string[] args)

{

OtherClass oc = new OtherClass();

oc.Method1(oc.field1);

}

}

运行结果如下所示:

访问基类成员

可以使用基类访问(base access)表达式访问隐藏的继承成员,基类访问表达式由关键字base后面跟着一个点和成员的名称组成。

访问隐藏的基类成员的例子

代码如下:

class SomeClass //基类

{

public string field1 = "base class field";

}


class OtherClass : SomeClass //派生类

{

new public string field1 = "derived class field";   

public void PrintField1()

{

Console.WriteLine(field1);  //访问派生类

Console.WriteLine(base.field1); //访问基类

}

}


internal class Program

{

static void Main(string[] args)

{

OtherClass oc = new OtherClass();

oc.PrintField1();

}

}

​运行结果如下所示:

转自https://www.cnblogs.com/mingupupu/p/17837924.html


该文章在 2025/2/15 11:02:33 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved