C#面向对象——继承

        //继承
        //被修饰为私有的private类不能被继承,但可以被实例化
        //  被继承的类称为 基类 或 父类,继承的类称为 派生类 或 子类。
        //      子类将获得基类除构造函数和析构函数以外的所有成员
        //static 静态类不能被继承,但可以被实例化

        //如果是抽象类public abstract,可以被继承,但不能被实例化

        //父类的私有成员也会被子类继承,但子类不能直接访问私有成员。子类可以通过调用公有或者保护方法间接的对私有成员进行访问

实验子类的初始化顺序


            //实验子类的初始化顺序
            ChildA a = new ChildA();
            a.Print();
        //5.2.2 子类的初始化顺序

        //使用了继承之后,当我们初始化一个子类时,除了会调用子类的构造函数之外,同时也会调用基类的构造函数,子类的初始化顺序如下:

        //1. 初始化类的示例字段
        //2. 调用基类的构造函数,如没有基类,调用 System.Object 的构造函数
        //3. 调用子类的构造函数

        public class Parent
        {
            //第二步 调用基类的构造函数
            public Parent()
            {
                Console.WriteLine("基类构造函数被调用");
            }
        }

        public class ChildA : Parent
        {
            //第一步 初始化他的示例字段
            private int FieldA = 3;
            public int FieldAA { get; set; }


            //第三步 调用子类构造函数
            public ChildA()
            {
                Console.WriteLine("子类构造函数被调用");
            }

            public void Print()
            {
                Console.WriteLine(FieldAA);
            }
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值