C#-面向对象之继承1

  今天学习面向对象三大特征之一的继承,学习之前先了解什么是继承,通过下面两句话应该可以帮助我们更好更快速地区分和理解什么是继承

  1)孙悟空继承自猴类,猪八戒继承自猪类

  2)黔金丝猴继承自猴类,金华猪继承自猪类

  直接给出答案了第二句关于继承的说法正确,因为继承指的是类与类之间的关系,第一句是说的是对象与类(之前说过类与对象直接的区别,不再赘述)

  继承中的名词:基类与派生类和父类与子类,前两个一组,后两个一组都是一个意思,继承都是子类继承自父类(派生类继承自基类);

  注意:所有的类都隐式的继承自Object类,自己随便写个类即使类里面什么都不写,实例化其对象后,对象点成员会发现里面有几个方法(公共的),这几个方法就继承自Object类

  明白了继承是怎么回事再说使用继承的好处:1)代码重用2)实现多态(之后学习)

  例如:有两个类Teacher与Student,Teacher类中有姓名,性别,年龄,工资属性,有一个教学和学习的方法;Student类中有姓名,性别,年龄,学位属性,一个学生学习的方法

  现在学习的一种方式是通过两个不同的类,提取其共有的成员作为父类,再由这两个类继承(也有先写父类的),这种方式个人感觉比较好理解先用这个作为学习的切口

  由此提取的父类包括姓名,性别,年龄属性,还有一个学习方法,由这些共有的公共成员,定义一个名为People的类,类中就由这些成员组成(成员,属性,方法这些名词的区别之前说过)

  

C#-面向对象之继承1 091

  父类People,访问修饰符一般都是public,其他的暂时不说

  下面开始书写由Teacher与Student类继承People类的代码

  

C#-面向对象之继承1 091

  继承代码

  继承的书写格式是:子类名称后面冒号加父类名称(注意访问修饰符)

  例子中代码都写在了Program.cs文件中,自己也可以在此项目中添加相应的类,之前说过添加类的方法;类中所有属性都使用了自动属性以便于截图,教师类中有一个工资属性(涉及财务类的一般都声明为decimal类型);学生类中只有一个学位属性(可以使用枚举,防止出现类似家里蹲学位......),共有一个学习的方法,暂时方法实现内容一样,之后学习多态时,会对方法进行重写以达到方法复用的目的

  

C#-面向对象之继承1 091

  继承自父类的公有成员

  之前说过学生类中只有一个学位属性,此时却能点出这么多成员,一部分是继承自父类还有一部分继承自Object类(隐式的),继承的第一个好处代码复用是不是很好用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值