zoukankan      html  css  js  c++  java
  • 揭秘子类构造

    1.通过子类无参构造函数创建子类实例

    创建父类Person和子类Student。

    public class Person
    {
        public Person()
        {
          Console.WriteLine("我是人");
        }
    }
    public class Student : Person
    {
        public Student()
        {
          Console.WriteLine("我是学生");
        }
    }

    2.在客户端通过子类无参构造函数创建子类实例。

    class Program
    {
        static void Main(string[] args)
        {
          Student student = new Student();
          Console.ReadKey();
        }
    }
     

    二、通过子类有参构造函数创建子类实例

    再同时为子类和父类添加有参构造函数。

    public class Person
    {
        public Person()
        {
          Console.WriteLine("我是人");
        }
        public Person(string name)
        {
          Console.WriteLine("我是人,我的名字叫{0}", name);
        }
    }
    public class Student : Person
    {
        public Student()
        {
          Console.WriteLine("我是学生");
        }
        public Student(string name)
        {
          Console.WriteLine("我是学生,我的名字叫{0}", name);
        }
    }

    三、在子类中明确指出调用哪个父类构造函数

    以上,默认调用了父类的无参构造函数,但如何调用父类的有参构造函数呢?
    --在子类中使用base

    在子类Student中的有参构造函数中使用base,明确调用父类有参构造函数。

    public class Student : Person
    {
        public Student()
        {
          Console.WriteLine("我是学生");
        }
        public Student(string name)
          : base(name)
        {
          Console.WriteLine("我是学生,我的名字叫{0}", name);
        }
    }

    四、通过子类设置父类的公共属性

    在父类Person中增加一个Name公共属性,并在父类的构造函数中对Name属性赋值。

    public class Person
    {
        public string Name { get; set; }
        public Person()
        {
          Console.WriteLine("我是人");
        }
        public Person(string name)
        {
          this.Name = name;
          Console.WriteLine("我是人,我的名字叫{0}", name);
        }
    }
  • 相关阅读:
    HttpContext.Current.Cache过期使用方法
    IE11下使用IE8
    Sqldbx连接oracle
    XML序列之System.Xml.Serialization
    怎样设置域名带www和不带www都可以访问
    log4net一些配置说明
    部署wcf到IIS时的问题
    spring.net学习(一) 搭建环境,实例化spring.net容器。
    WPF 多语言实现
    C# 类型转换问题
  • 原文地址:https://www.cnblogs.com/chengzixin/p/6567199.html
Copyright © 2011-2022 走看看