C#中的继承

     继承在多种语言中都有使用,我们在写程序时可能类与类会具有相同的字段和属性。继承的目的便是将相同的代码封装起来,子类继承父类的,实现相同的功能,避免了代码冗余,十分的方便。


     那么在C#中,创建类时,先创建一个父类 person类,再创建子类teacher和student 类, student 类和teacher类将拥有person类的所有属性和方法。但在主函数中调用的时候,都要先进行实例化。在三个类中是有重复的,teacher和student都是人,都具有相同的姓名性别年龄。将这些相同的抽出来放到一个类中。通过某种关系,将teacher和student与person建立关系。这个关系就可以称之为继承。此时就可以省略teacher和student中相同的属性和字段。


下边是各个类所具备的属性,以person为例



实例化各个类:



当然,除去相同的属性外,teacher和student 类中可以有各自独有的方法和属性,各自的属性最好不要放到person父类中,举例:teacher具有工资的属性但不能说明所有人都有工资的属性;student 有学号,但不能说所有人都有学号。在这里,teacher类或student 类成为子类,person类为父类。另一种可以称teacher类或student 类为派生类,person类为基类。


那么如何产生继承关系呢?

这里需要在子类和父类之间使用冒号: 连接实现。当继承之后,子类中就没必要再有父类中的属性了。这时就可以调父类中的所有属性。teacher继承了person之后,person类中的属性和方法均可被使用 。



对方法进行补充,完善相关信息



此时实例化:



此时类图就发生了如下变化,空心箭头永远指向父类。接触继承关系,则相互脱离。其中的program则与其无关。



看类图的好处:

当类相当多时,所有的类文件都在项目列表中,难以分清子类和父类。而且在程序中是不容易找出的,所以只需查看类图即可清晰的看到。



补充:在C#中,所有的类都直接或间接的继承了自己的object类。(如果我们没有定义父类,则object就是我们继承的父类。)

                继承的单根性:在C#中,基类只有一个。即父类只有一个,子类可以有很多个。一个类可以被多个子类继承,但一个子类不能有很多个父类。

               继承的传递性:通过构造函数,将子类中的一些值传递到父类当中。给父类中的字段赋值。




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 27
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值