zoukankan      html  css  js  c++  java
  • C#在派生类中调用基类成员

    一、在派生类中调用基类成员

    在C#的派生类中,我们可以使用base关键字调用基类中的公有或者受保护成员。这些成员只能是构造函数、实例方法或者实例属性。

    base关键字调用基类成员的语法格式如下:

    base . identifier或

    base[expression-list]注意:

    ?base关键字不能用在派生类的静态方法中。

    ?必须显式添加基类的构造函数。

    二、示例
      
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
     
    namespace Test
    {
        class Program
        {
            public class A                     // 基类
            {
                protected string name; // 受保护字段成员,可在当前类和派生类中访问
                protected int age;             // 受保护字段成员
                public A(string name, int age) // 实例构造函数
                {
                    this.name = name;
                    this.age = age;
                }
                public void Show()             // 公共方法
                {
                    Console.WriteLine("基类-name:{0} age:{1}",name,age);
                }
            }
            public class B : A                 // 这是派生类,以A作为基类
            {
                private int ID;                // 派生类的成员
                public B(int ID, string name, int age)
                    : base(name, age)          // 调用直接基类的实例构造函数
                {
                    this.ID = ID;
                    Console.WriteLine("派生类B的构造函数");
                }
                new public void Show() // 用new关键字隐藏基类中的同名方法
                {
                    Console.WriteLine("ID:{0}", ID);
                    Console.WriteLine("派生类B的Show方法");
                    base.Show();               // 调用基类的方法
                }
            }
            static void Main(string[] args)
            {
                // C#在派生类中调用基类成员-www.baike369.com
                B b = new B(100,"BaiXue",18);  // 创建类的实例
                b.Show();                      // 调用派生类B的方法
                Console.ReadLine();
            }
        }
    }

    运行结果:
     
    派生类B的构造函数
    ID:100
    派生类B的Show方法
    基类-name:BaiXue age:18

  • 相关阅读:
    How to Compile Java DBus
    BZOJ 2783 JLOI 2012 树 乘+二分法
    Robotium原则的实施源代码分析
    基本的负载均衡算法
    人大、上财、复旦、上交四校2013年应届金融硕士就业去向
    2014届上财金融硕士就业情况
    三跨),总分420+
    复旦金融专硕和上财金融专硕
    一个三跨考生三战上海财经大学金融硕士的考研经验
    董某某
  • 原文地址:https://www.cnblogs.com/melao2006/p/4239253.html
Copyright © 2011-2022 走看看