今天给各位分享三星note 8.0的知识,其中也会对如何清理手机内存进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文导读目录:
3、小米2出现请勿遮挡橙色区域怎么回事?小米2在官网买是裸机,有没有充电器
里氏替换原则的概念(C#举个例子说说里氏替换原则
C#举个例子说说里氏替换原则
里氏代换原则(LiskovSubstitutionPrincipleLSP)是面向对象设计的基本原则之一。里氏代换原则中说,任何基类可以出现的地方,子类一定可以出现。LSP是继承复用的基石,只有当子类可以替换掉父类,软件单位的功能不受到影响时,父类才能真正被复用,而子类也能够在父类的基础上增加新的行为。里氏代换原则是对“开-闭”原则的补充。实现“开-闭”原则的关键步骤就是抽象化。而基类与子类的继承关系就是抽象化的具体实现,所以里氏代换原则是对实现抽象化的具体步骤的规范。下面举例说明什么是里代换原则实例正方形不是长方形在几何当中,正方形肯定是长方形,只不过它是特殊的长方形,四条边都相等,利用面向对象的继承关系,我们让正方形继承长方形,代码如下://C#讲解里氏代换原则//实例名称:正方形不是长方形usingSystem;//长方形类classRectangle{intlength;intwidth;publicintgetLength(){returnlength;}publicintgetWidth(){returnwidth;}publicvirtualvoidsetLength(intlength){this.length=length;}publicvirtualvoidsetWidth(intwidth){this.width=width;}}//正方形类SquareclassSquare:Rectangle{publicoverridevoidsetLength(intlength){base.setLength(length);base.setWidth(length);}publicoverridevoidsetWidth(intwidth){base.setLength(width);base.setWidth(width);}}/**由于正方形的长度和宽度必须相等,所以在方法setLength和setWidth中,*对长度和宽度赋值相同。类TestRectangle是我们的软件系统中的一个组件,*它有一个resize方法要用到基类Rectangle,resize方法的功能是模拟长方形宽度逐步增长的效果*///测试类TestRectangleclassTestRectangle{//此方法改变长方形的宽,将宽设为比高大staticvoidresize(RectangleobjRect){Console.WriteLine(“设置宽度开始“);while(objRect.getWidth()《=objRect.getLength()){objRect.setWidth(objRect.getWidth()+);}Console.WriteLine(“设置宽度结束“);}staticvoidMain(){//实例化一个长方形Rectangler=newRectangle();//设长为r.setLength();//设宽为r.setWidth();Console.WriteLine(“长方形“);Console.WriteLine(“改变之前长为:“+r.getLength());Console.WriteLine(“改变之前宽为:“+r.getWidth());//调用方法改变长方形的宽resize(r);//改变之后Console.WriteLine(“改变之后长为:“+r.getLength());Console.WriteLine(“改变之后宽为:“+r.getWidth());Rectangles=newSquare();s.setLength();s.setWidth();Console.WriteLine(“正方形“);Console.WriteLine(“改变之前长为:“+s.getLength());Console.WriteLine(“改变之前宽为:“+s.getWidth());//调用方法改变正方形的宽resize(s);Console.WriteLine(“改变之后长为:“+s.getLength());Console.WriteLine(“改变之后宽为:“+s.getWidth());}}我们运行一下这段代码就会发现,假如我们把一个普通长方形的实例作为参数传入resize方法,就会看到长方形宽度逐渐增长的效果,当宽度大于长度,代码就会停止,这种行为的结果符合我们的预期;假如我们利用里氏代换所说的,把子类的实例赋给父类,再把父类(正方形的实例作为参数传入resize方法后,就会看到正方形的宽度和长度都在不断增长,代码会一直运行下去,直至系统产生溢出错误。所以,普通的长方形是适合这段代码的,正方形不适合。我们得出结论:在resize方法中,Rectangle类型的参数是不能被Square类型的参数所代替,如果进行了替换就得不到预期结果。因此,Square类和Rectangle类之间的继承关系违反了里氏代换原则,它们之间的继承关系不成立,正方形不是长方形。当运行程序的时候,长方形可以正常的改变长方形的宽度,而正方形不能改变宽度。里氏代换原则说明了我们不能乱用继承,这里长方形的长和宽和正方形的长和宽明显有不同的特点,所以正方形继承长方形是错误的,正确的写法是我们可以把正方形和长方形抽象出来,再让正方形和长方形继承这个抽象类,从而这两个类互不影响,各实现各的功能。参考:望采纳,谢谢.
三星note 8.0(如何清理手机内存)里氏替换原则与依赖倒置原则有什么区别
如何清理手机内存电脑长屏截图软件(浏览器截长图插件)
本文主要介绍电脑长屏截图软件(浏览器截长图插件),下面一起看看电脑长屏截图软件(浏览器截长图插件)相关资讯。
,AdblockPlus
三星note 8.0(如何清理手机内存)Infinity新标签(专业版)
crxMouse手势
如何清理手机内存小米出现请勿遮挡橙色区域怎么回事?小米在官网买是裸机,有没有充电器
小米出现请勿遮挡橙色区域怎么回事
如何正确的解决小米请勿遮挡橙色区域打开设置,点击关于手机连续点击内核版本-次进入Cit硬件检测,点击.距离感应测试根据提示校准传感器校准成功,不再出现‘请勿遮挡橙色区域’提示
三星note 8.0的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于如何清理手机内存、三星note 8.0的信息别忘了在本站进行查找喔。