C# 继承的理解与用法

继承可以使子类自动拥有父类可被继承的成员,还可以拥有自己的成员。

继承的三大特点

单根性:

子类只能拥有一个父类,但可以有很多子类,也就是说MyClassTwo只能继承MyClassOne和MyClassThree其中的一个类,但可以让另一个类成为自己的子类。

class MyClassOne
    {
        private int numberone;
    }
    class MyClassTwo:MyClassOne
    {
        private int numbertwo;
    }
    class MyClassThree:MyClassTwo
    {
        public int NumberThree { get; set; }
    }
传递性:

父类定义的成员会被子类一直继承下去,不会越来越少,如下在MyClassThree和MyClassTwo中都可以通过base来访问到MyClassOne的numberone属性,不会消失。

class MyClassOne
    {
        public int numberone;
    }
    class MyClassTwo:MyClassOne
    {
        public int numbertwo;
        public MyClassTwo()
        {
            base.numberone = 1;
        }
    }
    class MyClassThree:MyClassTwo
    {
        public int NumberThree { get; set; }
        public MyClassThree()
        {
            base.numberone = 1;
        }
    }
成员访问性:

在父类中被private修饰符修饰的属性无法在子类中访问,例如MyClassOne中的属性被private修饰符修饰之后在其子类中就无法访问了,base后的属性就会提示无法访问具有一定的保护性:

class MyClassOne
    {
        private int numberone;
    }
    class MyClassTwo:MyClassOne
    {
        public int numbertwo;
        public MyClassTwo()
        {
            base.numberone = 1;
        }
    }
    class MyClassThree:MyClassTwo
    {
        public int NumberThree { get; set; }
        public MyClassThree()
        {
            base.numberone = 1;
        }
    }

与继承有关的:

this关键字:

能够访问本类的成员(成员指属性和方法)

base关键字:

能够访问父类的成员(成员指属性和方法)

sealed关键字:

它的作用是密封类,使被修饰的类无法被其他的类继承其成员。

注意:

子类会首先隐式调用父类的无参构造方法,在调用自身的构造方法,如果父类中没有无参构造方法则代码环境就会提示错误,为了避免错误,建议在使用继承时手动在父类中添加无参的构造方法。

如有错误请与博主联系修改或删除。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值