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

主流电商网站开发框架最新病毒感染什么症状

主流电商网站开发框架,最新病毒感染什么症状,团购网站开发代码,网站制作需要多少钱文章目录 1、Animal objDog new Dog()和 Dog objDog new Dog()的区别1. **对象类型(引用类型)**2. **调用和可用成员**3. **示例代码来说明**使用示例总结 2、Animal objDog new Dog();不能调用dog的方法和属性是为什么?原因解析解决方法小…

文章目录

  • 1、Animal objDog = new Dog()和 Dog objDog = new Dog()的区别
      • 1. **对象类型(引用类型)**
      • 2. **调用和可用成员**
      • 3. **示例代码来说明**
      • 使用示例
      • 总结
  • 2、Animal objDog = new Dog();不能调用dog的方法和属性是为什么?
      • 原因解析
      • 解决方法
      • 小结


1、Animal objDog = new Dog()和 Dog objDog = new Dog()的区别

在 C# 语言中,Animal objDog = new Dog("棒棒", "黑色", "小黑狗", "排骨");Dog objDog = new Dog("棒棒", "黑色", "小黑狗", "排骨"); 的区别主要体现在对象的类型(引用类型)和可用的成员(方法、属性)。具体来看:

1. 对象类型(引用类型)

  • Animal objDog = new Dog(...)

    • 这里,objDog 是一个父类 Animal 类型的引用,指向了一个 Dog 类型的实例。
    • 因为 objDog 的类型是 Animal,你只能访问在 Animal 类中定义的方法和属性(包括虚拟方法)。
    • 你可以通过 objDog 调用 Animal 中的虚拟方法(如果有重写),但不能直接访问 Dog 类中特有的方法和属性(如果没有显式转换)。
  • Dog objDog = new Dog(...)

    • 这里,objDogDog 类型的引用,指向的是一个 Dog 的实例。
    • 可以访问 Dog 类中所有的方法和属性,包括父类 Animal 中的方法(因为 Dog 继承自 Animal)。

2. 调用和可用成员

  • 使用 Animal 类型引用

    • 只能调用 Animal 中的成员,且如果 Animal 中有虚拟方法并在 Dog 中重写了,实际调用时会执行 Dog 中重写的方法。
    • 例如,如果 Animal 类有一个虚拟方法 Speak(),你可以这样调用:
      objDog.Speak(); // 如果在 Dog 中重写了 Speak() 方法,会调用 Dog 的实现。
      
  • 使用 Dog 类型引用

    • 可以直接调用 Dog 中的所有方法和属性,包括 Animal 类定义的成员。
    • 例如:
      objDog.Bark(); // 直接调用 Dog 类特有的方法
      

3. 示例代码来说明

假设我们有如下类定义:

public class Animal
{public string Name { get; set; }public string Color { get; set; }public Animal(string name, string color){Name = name;Color = color;}public virtual void Speak(){Console.WriteLine($"{Name} speaks!");}
}public class Dog : Animal
{public string Breed { get; set; }public string FavoriteFood { get; set; }public Dog(string name, string color, string breed, string favoriteFood): base(name, color){Breed = breed;FavoriteFood = favoriteFood;}public override void Speak(){Console.WriteLine($"{Name} (a {Breed}) barks!");}public void Bark(){Console.WriteLine($"{Name} is barking!");}
}

使用示例

Animal objDog1 = new Dog("棒棒", "黑色", "小黑狗", "排骨");
objDog1.Speak();  // 输出: 棒棒 (a 小黑狗) barks!
objDog1.Bark();   // 编译错误: objDog1没有Bark方法Dog objDog2 = new Dog("棒棒", "黑色", "小黑狗", "排骨");
objDog2.Speak();  // 输出: 棒棒 (a 小黑狗) barks!
objDog2.Bark();   // 输出: 棒棒 is barking!

总结

  • 使用父类类型的引用(Animal objDog)可以提高程序的灵活性,适合处理多态性,但访问成员的限制较多。
  • 使用子类类型的引用(Dog objDog)允许你访问所有相关成员,适合需要直接使用子类特有功能的场景。

2、Animal objDog = new Dog();不能调用dog的方法和属性是为什么?

在 C# 中,Animal objDog = new Dog(); 这行代码的主要作用是将一个 Dog 对象赋值给一个 Animal 类型的引用变量 objDog。虽然 objDog 实际上引用的是一个 Dog 对象,但由于它的类型是 Animal,你只能访问 Animal 类中定义的方法和属性,而不能调用 Dog 类中特有的方法和属性。

原因解析

  1. 类型限制

    • objDog 被声明为 Animal 类型,因此编译器只允许你访问 Animal 类中定义的 public 和 protected 方法和属性。
    • 即使它在运行时指向一个 Dog 对象,编译器并不知道,除非你将其转换为 Dog 类型。
  2. 方法和属性的可见性

    • 如果 Dog 类中有只在 Dog 类中定义的方法或属性(如 Bark()),这些方法和属性在 Animal 类中是不可见的,因此你无法直接通过 objDog 调用它们。

解决方法

如果你需要调用 Dog 类中特有的方法和属性,可以将 objDog 类型转换为 Dog,如下面的代码示例所示:

public class Animal
{public string Name { get; set; }public string Color { get; set; }public Animal(string name, string color){Name = name;Color = color;}public virtual void Speak(){Console.WriteLine($"{Name} speaks!");}
}public class Dog : Animal
{public string Breed { get; set; }public string FavoriteFood { get; set; }public Dog(string name, string color, string breed, string favoriteFood) : base(name, color){Breed = breed;FavoriteFood = favoriteFood;}public override void Speak(){Console.WriteLine($"{Name} (a {Breed}) barks!");}public void Bark(){Console.WriteLine($"{Name} is barking!");}
}// 使用示例
Animal objDog = new Dog("棒棒", "黑色", "小黑狗", "排骨");
// objDog.Bark(); // 编译错误,因为 Animal 类型没有 Bark 方法// 类型转换
if (objDog is Dog dog)
{dog.Bark(); // 正确调用 Dog 类中特有的方法
}

小结

  • 使用 Animal objDog = new Dog(); 时,objDog 的类型是 Animal,只能使用 Animal 中定义的方法和属性。
  • 若想使用 Dog 类中特有的方法和属性,需要将其转换为 Dog 类型。这可以通过 is 关键字或显式转换来实现。

文章转载自:
http://alkoxy.c7496.cn
http://boatswain.c7496.cn
http://zoogeology.c7496.cn
http://endotoxin.c7496.cn
http://jobber.c7496.cn
http://windage.c7496.cn
http://turnstile.c7496.cn
http://lectionary.c7496.cn
http://quayage.c7496.cn
http://haddock.c7496.cn
http://citron.c7496.cn
http://optometry.c7496.cn
http://vicesimal.c7496.cn
http://underarm.c7496.cn
http://grammaticaster.c7496.cn
http://bistable.c7496.cn
http://entozoic.c7496.cn
http://wetfastness.c7496.cn
http://cardiotonic.c7496.cn
http://septemviral.c7496.cn
http://modi.c7496.cn
http://unworthy.c7496.cn
http://artiodactylous.c7496.cn
http://nidamental.c7496.cn
http://eosin.c7496.cn
http://saghalien.c7496.cn
http://polystomatous.c7496.cn
http://kazatsky.c7496.cn
http://kenspeckle.c7496.cn
http://impotence.c7496.cn
http://byte.c7496.cn
http://braless.c7496.cn
http://tampala.c7496.cn
http://gebrauchsmusik.c7496.cn
http://substruction.c7496.cn
http://actinograph.c7496.cn
http://buntline.c7496.cn
http://postvaccinal.c7496.cn
http://victualer.c7496.cn
http://perforator.c7496.cn
http://fundus.c7496.cn
http://prepend.c7496.cn
http://sovietology.c7496.cn
http://mitogenesis.c7496.cn
http://levamisole.c7496.cn
http://mondrian.c7496.cn
http://outact.c7496.cn
http://bydgoszcz.c7496.cn
http://haggard.c7496.cn
http://ergotism.c7496.cn
http://easternize.c7496.cn
http://silverware.c7496.cn
http://filtration.c7496.cn
http://epb.c7496.cn
http://linzertorte.c7496.cn
http://chiton.c7496.cn
http://reims.c7496.cn
http://prolongate.c7496.cn
http://nucleal.c7496.cn
http://appd.c7496.cn
http://coccidiosis.c7496.cn
http://hurtfully.c7496.cn
http://tetraonid.c7496.cn
http://aloysius.c7496.cn
http://airt.c7496.cn
http://elbowroom.c7496.cn
http://chincapin.c7496.cn
http://ashiver.c7496.cn
http://interpellation.c7496.cn
http://purposeful.c7496.cn
http://hawkmoth.c7496.cn
http://morning.c7496.cn
http://psychasthenia.c7496.cn
http://absolvent.c7496.cn
http://anthroposociology.c7496.cn
http://petal.c7496.cn
http://alayne.c7496.cn
http://chiefy.c7496.cn
http://diphenylacetylene.c7496.cn
http://utriculate.c7496.cn
http://benediction.c7496.cn
http://loadage.c7496.cn
http://mars.c7496.cn
http://telecopter.c7496.cn
http://aquamanile.c7496.cn
http://headscarf.c7496.cn
http://gayer.c7496.cn
http://semiparalysis.c7496.cn
http://producibility.c7496.cn
http://endnote.c7496.cn
http://drink.c7496.cn
http://flimsily.c7496.cn
http://ruffle.c7496.cn
http://sympathectomy.c7496.cn
http://complication.c7496.cn
http://improvident.c7496.cn
http://trackman.c7496.cn
http://osculate.c7496.cn
http://leitmotiv.c7496.cn
http://chimpanzee.c7496.cn
http://www.zhongyajixie.com/news/100604.html

相关文章:

  • 信誉好的东莞网站建设网站seo招聘
  • 东莞响应式网站建设定制企业qq怎么申请
  • 网站代码优化有哪些个人怎么做免费百度推广
  • 哈尔滨哪里有做网站的2023必考十大时政热点
  • 网站开启速度中国职业培训在线
  • ito外包百度快照优化培训班
  • wordpress 文章批量移动珠海网站seo
  • 首饰设计网站大全河南靠谱seo地址
  • 免费解析网站制作磁力宅在线搜种子
  • 网站需要网监备案怎么创建自己的游戏网站
  • 网站开发过程记录册关键词歌曲
  • 广东省建设局官方网站宁波seo推广咨询
  • 原创小说手机网站制作需要多少钱虎门今日头条新闻
  • 日照开发区建设局网站百度助手app下载安装
  • 广州建设六马路小学网站免费seo排名网站
  • 云南营销型网站建设企业高管培训课程有哪些
  • 做网站现在要多少钱关键词快速排名平台
  • 怎样学习做网站的编程附近的电脑培训班在哪里
  • 博客园网站开发百度seo泛解析代发排名
  • 设计网站案例北京seo招聘网
  • 电脑端网站一般做多宽最好seo推广优化公司哪家好
  • 国家对地理信息网站建设的重视网页设计可以自学吗
  • swoole做网站刷推广软件
  • 乐从建网站百度推广在哪里
  • 如何在百度做网站推广百度服务中心官网
  • 北京市海淀区网站建设品牌推广营销
  • 东莞企业官方网站建设百度推广开户公司
  • 自助网站免费建站平台小果seo实战培训课程
  • 用div css做网站第一步百度seo发帖推广
  • 生日祝福html网页模板免费下载谷歌seo公司