当前位置:首页 > C#学习 > 正文内容

C#中类的继承小知识点

小道7年前 (2018-09-20)C#学习4918

类的构造实例化的过程:

一个子类的实例化先调用父类的构造函数,在调用子类的构造函数。

namespace 继承
{
    class Program
    {
        static void Main(string[] args)
        {
            男人 n = new 男人();//声明男人类的对象。
            Console.ReadKey();//按任意键退出。
        }
    }
    class 人  //人  类。
    {
        public 人()//默认的人类的构造函数
        {
            Console.WriteLine("人的默认构造函数。");//输出
        }
    }
    class 男人:人  // 继承人 类的 男人 类。
    {
        public 男人()//默认的男人类的构造函数
        {
            Console.WriteLine("男人的默认构造函数。");//输出
        }
    }
}

输出结果:

image.png


带参数的构造函数:

namespace 继承
{
    class Program
    {
        static void Main(string[] args)
        {
            男人 n = new 男人();//声明男人类的对象。
            Console.WriteLine("——————————————————");
            男人 nn = new 男人(18);//声明男人类的对象。
            Console.ReadKey();//按任意键退出。
        }
    }
    class 人  //人  类。
    {
        public int age;//全局字段
        public 人()//默认的人类的构造函数
        {
            Console.WriteLine("人的默认构造函数。");//输出
        }
        public 人(int a)//带参数的构造函数
        {
            age = a;//赋值
            Console.WriteLine("人的带参数的构造函数。年龄:{0}",age);//输出
        }
    }
    class 男人:人  // 继承人 类的 男人 类。
    {
        public 男人()//默认的男人类的构造函数
        {
            Console.WriteLine("男人的默认构造函数。");//输出
        }
        public 男人(int a)//带参数的构造函数
        {
            age = a;//赋值
            Console.WriteLine("男人类的带参数的构造函数。年龄:{0}",age);//输出
        }
    }
}

输出结果:

image.png

PS:使用带参数的构造函数会先调用父类的默认构造函数,在调用子类带参数的构造函数。


同时调用父类和子类的带参数的构造函数:

        ...
        public 男人(int a) : base(a)//在后面加上  : base(a)  就可以调用父类的带参数的构造函数。
        ...

输出结果:

image.png


同时调用父类默认构造函数和子类默认构造函数和子类带参数的构造函数:

        ...
        public 男人(int a) : this()//在后面加上  : this()  就可以调用父类的默认构造函数和子类默认构造函数。
        ...

输出结果:

image.png

扫描二维码推送至手机访问。

版权声明:本文由小道发布,如需转载请注明出处。

本文链接:https://daobk.com/post/104.html

分享给朋友:

“C#中类的继承小知识点” 的相关文章

字符串的处理

字符串的处理

C#中单个字符用单引号包含就是char类型,('a'),单引号中放且只能放一个字符。单个字符也可以表示为字符串,还可以有长度为0的字符串使用s.Length属性来获得字符串中的字符个数string可以看做是char的只读数组。char c = s[1];。C#中字符串有一个重要的特性...

字符串的分割:从日期字符串("2008-08-08")中分析出年、月、日;

字符串的分割:从日期字符串("2008-08-08")中分析出年、月、日;

string[] Split(params char[] separator):将字符串按照指定的分割符分割为字符串数组;string[] Split(char[] separator, StringSplitOptions options)将字符串按照指定的char分割符分割为字符串数组( opt...

字符串的处理练习

字符串的处理练习

接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。            Console.WriteLine("请输入一个字符串");//提示用户输入一...

面向对象概念

面向对象概念

面向对象不是取代面向过程的。类、对象。“人”是类,“张三”是“人”这个类的对象。类是抽象的,对象是具体的。按钮就是类,某个按钮就是对象。对象可以叫做类的实例(Instance)。类就像int,对象就像10。字段Field(和某个对象相关的变量),字段就是类的状态。人这个类有姓名、年龄、身高等字段。类...