体验C#里氏替换原则 10.6.24

我们知道泛型可以存储一个类类型的父类,因此就可以加进他的子类。这是怎么回事,有很多人就会产生疑问。原则上是子类对象是可以赋值给父类对象的,即子类可以完全替换父类出现的地方,但是反过来父类对象不是替换子类对象的。我们把这种特性叫做里氏替换原则(LSP).

里氏替换原则有两个关键字:is和as

1.is是用来检测对象是否与给定对象类型的兼容,英文意思是“是”的意思,

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ISText
{
    class Program
    {
        static void Main(string[] args)
        {
            int i=3;
            string str="Hello World";
            if (i is string)
            {
                Console.WriteLine("是给定的类型");
            }
            else
            {
                Console.Write("不是给定的类型");
            }
        }
    }
}
 &&&&&&&&&&&&&&&&&&&如判断不是给定类型不会报错误信息

2.as操作符类似于强制类型转换,但是转换失败的话不会报错,只会返回一个null值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ISText
{
    class Program
    {
        static void Main(string[] args)
        {
         
            string str="Hello World";

            object s = str as object;
            if (s != null)
            {
                Console.WriteLine("转换成功!!!");
                Console.WriteLine(s.ToString());
            }
            else
            {
                Console.WriteLine("转换失败");
            }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值