C#里式替换原则
First time~
5-22
继承🧒---里式替换原则是面向对象七大原则中最重要的原则
知识点一:基本概念
- 概念 :任何父类出现的地方,子类都可以替代
- 重点 :语法表现----父类容器装子类对象,因为子类对象包含了父类的所有内容
- 作用 :方便进行对象的存储和管理
知识点二:基本实现
class GameObject
{
}
class Player : GameObject //继承
{
public void PlayerAtk()
{
Console.WriteLine("玩家攻击🔪");
}
}
class Monster : GameObject //继承
{
public void MonsterAtk()
{
Console.WriteLine("怪物攻击👹");
}
}
class Boss : GameObject //继承
{
public void BossAtk()
{
Console.WriteLine("Boss攻击");
}
}
class Program
{
static void Main(string[] args)
{
Console.WriteLine("里式替换原则");
//里式替换原则 用父类容器装载子类对象
GameObject player = new Player();
GameObject Monster = new Monster();
GameObject Boss = new Boss();
GameObject[] objects = new GameObject[]{ new Player(),new Monster(),new Boss() };
}
}
知识点三:is 和 as
当用父类容器装载子类对象 但是需要调用子类的成员方法需要使用 is 和 as
is
:判断一个对象是否是指定类对象 返回值:boolas
:将一个对象转换为指定类对象 返回值:成功时返回指定类对象 失败时返回Null
//is基本语法
if (player is Player)
{
}
else if(player is Monster)
{
}
//as基本语法
Player p = player as Player;
//组合使用以让父类装载可以访问其子类内容
if(player is Player)
{
Player p = player as Player;
p.PlayerAtk();----->可以调用子类自己的方法了
//or
(player as Player).PlayerAtk();----->可以调用子类自己的方法了
}
posted on 2022-05-23 10:01 AcherLoveCode 阅读(79) 评论(0) 编辑 收藏 举报