c#发展

首页 » 常识 » 预防 » Csharp编程基础之里氏转换prot
TUhjnbcbe - 2024/5/15 17:08:00

一、里氏转换

1、里氏转换的原则:

C#中可以使用一个父类类型的变量来引用一个子类类型的对象,即将子类对象当作父类类型使用,这就是所谓的里氏转化原则

里氏转换的原则

2、子类可以赋值给父类,并且通过父类变量可以调用子类中的方法。示例代码:

子类可以赋值给父类

3、父类强转为子类对象

如果父类中装的是子类对象,那么可以将这个父类强转为子类对象。

要想将父类变量转换为子类类型,只能在一种特殊情况下实现,即父类变量引用的是当前子类对象。示例代码如下:

父类强转为子类对象

4、里氏转换的练习:

创建10个对象通过一个循环去调用他们各自打招呼的方法,控制台会显示如下结果:

控制台会显示结果

代码如下:

里氏转换的练习

二、protected访问修饰符

1、protected访问修饰符的含义:

在c#的可访问性级别中,public和private算是最容易理解的,相反protected往往不太好理解。

我们可以理解成它是受保护的,可以在当前类的内部以及该类的子类中访问。

protected类型并不是能够被派生类所访问就是随心所欲的访问,而是有条件的,访问必须是通过派生类类型发生时,在派生类中的基类的protected类型成员才能够被访问,下面的代码并不是通过派生类的类型访问的,而是通过基类的类型访问的,此时此刻,protected和private十分的相似,只不过,protected类型成员能够被派生类所继承并且能够通过派生类类型访问。

2、示例代码:受保护的,可以在当前类的内部以及该类的子类中访问。

示例代码protected访问修饰符
1
查看完整版本: Csharp编程基础之里氏转换prot