当前位置: 首页 > news >正文

劳务外包seo案例分析

劳务外包,seo案例分析,短视频营销推广公司,网上做造价网站文章目录 1. 基础概念1.1 override1.2 new 2. 示例代码1. override 关键字2. new 关键字 3.完整示例测试3.1 基类和派生类的定义3.2 测试代码3.3 运行结果 结论 在 C# 中#xff0c;override 和 new 关键字用于控制类之间的成员方法的隐藏和重写。理解它们之间的差异和使用场景… 文章目录 1. 基础概念1.1 override1.2 new 2. 示例代码1. override 关键字2. new 关键字 3.完整示例测试3.1 基类和派生类的定义3.2 测试代码3.3 运行结果 结论 在 C# 中override 和 new 关键字用于控制类之间的成员方法的隐藏和重写。理解它们之间的差异和使用场景对于设计灵活且易于维护的代码至关重要。在这篇博客中我们将详细探讨这两个关键字的用法并通过示例来说明它们的实际应用。 1. 基础概念 1.1 override override 关键字用于重写基类中已经声明为 virtual 或 abstract 的方法、属性或索引器。使用 override 关键字可以提供基类方法的新实现。它的主要特点包括 多态性通过重写方法派生类可以实现特定的行为。基类引用即使是基类引用调用重写的方法也会执行派生类的实现。 1.2 new new 关键字用于隐藏基类中的成员方法、属性或事件。当使用 new 关键字时派生类中的成员将隐藏基类中的同名成员。它的特点包括 不支持多态性基类引用仍会调用基类的方法而不是派生类的方法。名称隐藏派生类中的成员遮蔽了基类中的同名成员但两者仍然存在于不同的作用域中。 2. 示例代码 1. override 关键字 override 关键字用于子类中覆盖重写父类中的方法。这样做可以让子类提供特定的实现以满足其对方法的个性需求。 示例 1使用 override 覆盖父类方法 using System;class Animal {public virtual void MakeSound(){Console.WriteLine(Animal makes a sound);} }class Dog : Animal {public override void MakeSound(){Console.WriteLine(Dog barks);} }class Program {static void Main(string[] args){Animal myAnimal new Animal();Animal myDog new Dog();myAnimal.MakeSound(); // 输出Animal makes a soundmyDog.MakeSound(); // 输出Dog barks} }在这个例子中Dog 类继承自 Animal 类并覆盖了 MakeSound 方法。当 myDog.MakeSound() 被调用时它将输出 “Dog barks”而不是 “Animal makes a sound”。 2. new 关键字 new 关键字在C#中有两个主要用途 它用于隐藏继承自基类的成员方法、属性、事件等。 它用于在接口中提供实现。 示例 2使用 new 隐藏继承的方法 using System;class Animal {public virtual void MakeSound(){Console.WriteLine(Animal makes a sound);} }class Dog : Animal {new public void MakeSound(){Console.WriteLine(Dog barks);} }class Program {static void Main(string[] args){Animal myAnimal new Animal();Animal myDog new Dog();myAnimal.MakeSound(); // 输出Animal makes a soundmyDog.MakeSound(); // 输出Dog barks} }在这个例子中尽管 Dog 类覆盖了 MakeSound 方法但是由于 new 关键字的使用基类 Animal 的 MakeSound 方法不会被隐藏。 示例 3使用 new 在接口中提供实现 using System;interface IMyInterface {void MyMethod(); }class MyClass : IMyInterface {public void MyMethod(){Console.WriteLine(Interface method implementation);} }class Program {static void Main(string[] args){IMyInterface myClass new MyClass();myClass.MyMethod(); // 输出Interface method implementation} }在这个例子中MyClass 类实现了 IMyInterface 接口并使用了 new 来提供 MyMethod 的具体实现。 3.完整示例测试 3.1 基类和派生类的定义 using System;public class Animal {// 一个虚方法可以在派生类中被重写public virtual void Speak(){Console.WriteLine(Animal speaks);}// 一个普通方法可以在派生类中被隐藏public void Sleep(){Console.WriteLine(Animal sleeps);} }public class Dog : Animal {// 重写基类的虚方法public override void Speak(){Console.WriteLine(Dog barks);}// 使用 new 关键字隐藏基类的同名方法public new void Sleep(){Console.WriteLine(Dog sleeps);} }3.2 测试代码 接下来我们可以编写一个测试程序来演示 override 和 new 的行为。 class Program {static void Main(string[] args){Animal myAnimal new Animal();myAnimal.Speak(); // 输出: Animal speaksmyAnimal.Sleep(); // 输出: Animal sleepsAnimal myDog new Dog();myDog.Speak(); // 输出: Dog barks (多态性)myDog.Sleep(); // 输出: Animal sleeps (基类方法)Dog realDog new Dog();realDog.Speak(); // 输出: Dog barksrealDog.Sleep(); // 输出: Dog sleeps (新定义的方法)Console.ReadLine();} }3.3 运行结果 运行上述程序输出结果如下 Animal speaks Animal sleeps Dog barks Animal sleeps Dog barks Dog sleeps分析 多态性在示例中myDog 是 Animal 类型的引用但它指向一个 Dog 对象。调用 Speak 方法时输出是 Dog barks这就是多态性的体现。myDog.Sleep() 调用的是基类的 Sleep 方法输出 Animal sleeps因为 Sleep 方法没有被标记为 virtual。 隐藏行为realDog.Sleep() 调用的是 Dog 类中定义的新 Sleep 方法输出 Dog sleeps。这表明使用 new 关键字隐藏了基类中的同名方法。 结论 override 和 new 是C#中用于版本控制和多态的两个关键字。使用 override我们可以为子类提供特定的方法实现而 new 则用于在继承体系中隐藏基类的成员或为接口提供实现。这两个关键字极大地增强了C#语言的灵活性和表达力。
http://www.dnsts.com.cn/news/109547.html

相关文章:

  • 做网站很难吗怎么仿做网站
  • 深圳网站建设制作设计企业网站搭建代理
  • 开个免费的网站多少钱卖二手手表的网站
  • 湖北省建设厅乡镇污水官方网站建设公司网站征集信息的通知
  • 网站备案 申请wordpress 链接新窗口
  • 新华路网站建设传媒网站设计
  • 阿里云做网站官网公司网站生成二维码
  • 首都在线官网网站网站的一般制作流程
  • remix做歌网站app手机网站开发
  • 百度竞网建设网站sem seo什么意思
  • 网站设计经典案例分析pageadmin仿站教程
  • 网站开发的架构辽宁营口建设工程信息网站
  • 微网站建设行业现状外国ps修图网站
  • 资源型网站建设 需要多大硬盘全国火车站等级最新排名
  • cms免费建站系统美工网站设计
  • 建设公司设计公司网站企业网站icp是什么
  • nike官方网站定制做旅游网站需要的背景
  • 太原市建设局网站mysql 上传wordpress
  • 网站做的好有什么用海南在线分类信息平台
  • 电商网站开发流程文档江苏百度推广代理商
  • 汕头网站建设stqhcx电子商务的概念
  • 17网站一起做网店类似的网站开发大概价格
  • 华为云做网站北京建筑网
  • 用手机怎么做网站网络编程技术栈
  • 东莞网站页设计制作wordpress 图标 png
  • 中国空间站建造历程卖手表的网站
  • 山东省水利建设市场信用信息平台网站丹灶做网站
  • 邯郸网站建设选哪家好如何建设好企业的网站维护
  • 域名有了怎么制作网站邯郸当地招聘网站
  • 成都 高端网站建设网站开发的结论