10097人加入学习
(18人评价)
C#编程-第二季-面向对象-宇宙最简单2021最新版

制作完成于2021-10月20日 使用VS2019

价格 免费

虚方法  virtual  把需要重写的方法返回值前加vierual         

重写  override

 

隐藏方法

[展开全文]

base只能访问父类里面的值

this只能访问子类里面的值

虚方法:

方法重写:

父类:virtual

子类:override

  

[展开全文]

创建子类对象的方式

1.Boss b1=new boss();

2.Enemy b2=new boss();

第二种方式创建时,默认使用的方法是父类的,当使用了virtua虚方法的时候,使用的方法是子类的 

可以把子类赋值给父类。但是不能把父类赋值给子类(子类的要求更高)

例如  Enemy enemy=new boss();        对的

          Boss b = new Enemy;          错误

构造的子类对象赋值给父类声明的对象,本质还是子类的对象,但是父类声明的,子类里的方法不能使用

重写函数的办法

1.虚方法

在Enemy中

pubilc virtual void Move()

在boss类中

(输入override会有提示)

public override void Move()

{

base.Move();//和父类相同

}

2.隐藏方法、

[展开全文]

虚函数的功能,当父类接收子类时,父类实例调用虚函数,程序会先看子类是否对虚函数重写,如果重写了,就会调用子类的函数

[展开全文]

子类重写父类的方法。

 

父类类型的对象 接收子类类型, java种的多态。

 

重写父类方法的两种形式: 

1、 虚方法:

虚方法的使用场景: 子类需要重写父类已有的方法

定义: 父类的方法 使用 virtual关键字进行修饰, 子类重写的方法使用override 关键字进行重写。

在调用虚函数的时候会检查子类有没有重写该虚函数。

 

 

2、 隐藏方法:

[展开全文]

   // public override void Exam()    重写父类(基类)的方法
        //public new void Exam()   new 关键字可以显式隐藏从(父类)基类继承的成员。

[展开全文]

重写:

父类:virtual

子类:override

[展开全文]

父类声明 子类构造函数,生成的对象为子类对象。不要这么写吧

[展开全文]