C#初步学习4(个人笔记,基于老赵.Net的视频自学,不喜勿喷)

//此笔记仅针对个人学习而写,会有所缺失的内容,不喜勿喷

初步学习

C#中的类

C#中的类也和java相似
先来创建一个“Student”类

image

其内“Show”方法并不是静态方法,要创建“Student”的实例来进行调用

image

通过该实例没有报错,我们可以知道C#类中也有默认写出的空构造方法
现在我们来取消“Student”类中的有参构造方法的注释

image

image

该实例又报错了,可见当我们在C#中,我们写出有参构造后,默认的无参构造会被覆盖掉
当然,我们可以再给“Student”类写一个无参构造方法来解决

C#中的继承

C#中的类与类之间的继承也可以使子类使用对类中的变量,方法

现在我们在原有的代码基础上新建一个“Person”类,并让“Student”类继承它

代码格式如下:
class Student : Person{}

所写代码如下:

image

可见“Student”继承了“Person”,但是并没有达到简化代码的作用
所以我们要利用C#中构造方法可以向父类中的构造方法传递参数的特殊方式

先给“Person”类加一个构造方法
所写代码如下:

image

可见,当父类中的有参构造方法覆盖掉默认的无参构造方法时,子类中的构造方法必须传给父类构造方法参数
当然,我们也可以给父类写一个无参构造来解决,但是这并不能简化我们的代码

image

我们可以利用“base”来调用父类中的方法,从而完成传递参数

image

来爽一下

image

而在C#中,父类和子类中有同名的方法,会优先调用子类的方法

image

当然,我们可以用“new”来隐藏成员,但是被“new”修饰的变量或方法无法被调用
所以在编程过程中应该避免同名的情况

posted @ 2023-03-21 20:23  COUNTRY  阅读(184)  评论(0)    收藏  举报