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

重庆网站排名公司wordpress自定义二级菜单

重庆网站排名公司,wordpress自定义二级菜单,企业宣传ppt,外贸网站建设熊掌号C#中结构struct能否继承于一个类class#xff0c;类class能否继承于一个struct 答案是#xff1a;都不能。 第一种情行#xff0c;尝试结构继承类 报错#xff1a;接口列表中的类型XX不是接口interface。 一般来说#xff0c;都是结构只能实现接口#x…C#中结构struct能否继承于一个类class类class能否继承于一个struct 答案是都不能。 第一种情行尝试结构继承类 报错接口列表中的类型XX不是接口interface。 一般来说都是结构只能实现接口不能继承于类 如下代码片段【尝试结构继承类】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DemoClassAndStruct {class Program{static void Main(string[] args){Console.ReadLine();}}class TestClass {public int Id;public string TestName { get; set; }}struct TestStruct : TestClass{public int TestId;public TestClass testClass { get; set; }} }我们发现无法编译报错接口列表中的类型XX不是接口interface或者说继承于一个接口 第二种情形尝试类继承结构 类class也不能继承于结构struct错误信息类无法从密封类型派生 如下代码片段【尝试类继承结构】 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DemoClassAndStruct {class Program{static void Main(string[] args){Console.ReadLine();}}class TestClass : TestStruct{public int Id;public string TestName { get; set; }}struct TestStruct {public int TestId;public TestClass testClass { get; set; }} }仍然无法编译通过 在C#设计中所有的结构stuct都特殊的认为是一种轻量型的密封类密封类sealed是无法被继承的 比如常见的字符串String就是一个密封类 public sealed class String : IComparable, ICloneable, IConvertible, IEnumerable, IComparableString, IEnumerablechar, IEquatableString 所谓继承类似于一种从属关系【is-a】 我们提到继承派生都是说的是类class也从来没听说过有结构可以继承的 比如猫是一种动物而动物就不一定是猫了 我们以结构 部分数组ArraySegment为例我们发现结构只能实现接口也不能继承于类 public struct ArraySegmentT : IListT, ICollectionT, IEnumerableT, IEnumerable, IReadOnlyListT, IReadOnlyCollectionT 同样类也不能继承于结构但类可以继承于其他非密封类同时实现多个接口。 C#虽然是单继承【父类最多只有一个】但可以实现多个接口通过这样来伪装成多继承实现多种复杂的业务逻辑 类class与结构struct互相不能继承的原因 结构体是值类型分配在栈stack上内存是独占的两个结构分配在不同的内存区域 篡改其中一个结构的值并不能影响另一个结构的值。【结构是两条不同的河流】 基础数据类型int,double,DateTime都是结构  而类是引用类型所以类的资源是在堆heap上两个类分配在相同的内存区域 篡改其中一个类的值导致另一个类的值自动篡改。【类是同一条河流】 string字符串虽然是类但是编译器为了对字符串进行优化处理逻辑反而和结构一样 如果结构可以继承类的话相当于heap堆的东西复制到栈上编译器就紊乱了编译器纠结到底是不同的河流 还是 同一条河流。 同样类可以继承结构的话相当于栈stack的东西复制到堆上编译器一样也会紊乱编译器纠结到底是不同的河流 还是 同一条河流。 类与结构使用场景 C#中的结构体通常是轻量级的数据类型用于存储简单的值或者小的数据集合。而类则更适合表示复杂的对象或者具有丰富行为和状态的组件。这也是为什么结构体不适合被类继承的一个原因。 一般来说当数据类型较小且需要频繁创建并传递时例如表示坐标Coordinate或颜色Color等简单的值类型使用结构体更加合适因为它们可以被分配在栈上速度更快且不需要垃圾回收。此外结构体具有内存对齐的特性可以减少内存碎片和访问时间。 而当数据类型较大、有复杂的行为和状态并且需要被多个对象共享时使用类更加合适。类可以使用继承、多态和抽象等面向对象的特性可以更好地组织和管理代码实现高内聚低耦合的设计。 总的来说如果需要表示简单的值类型并需要高效率地操作及传递数据则使用结构体更加合适如果需要表示复杂的对象并需要更加灵活的行为则使用类更加合适。 是否可以继承关系如下图实现接口我们也认为是一种继承 A继承于B类class【B】结构struct【B】接口interface【B】类class【A】可以继承无法继承可以继承结构struct【A】无法继承无法继承可以继承接口interface【A】无法继承无法继承可以继承 类class作为结构struct的成员变量结构struct作为类class的成员变量 同样类对象可以作为结构的成员变量结构的实例也可以作为类的成员变量 结构对象 不能与null直接比较如果结构对象与null比较请使用可空类型 NullableTestStruct 或者 TestStruct? 测试代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DemoClassAndStruct {class Program{static void Main(string[] args){TestStruct testStruct new TestStruct();Console.WriteLine(testStruct.testClass null);testStruct.Print();TestClass testClass new TestClass();Console.WriteLine(testClass.testStruct.TestId);testClass.Print();Console.ReadLine();}}class TestClass {public int Id;public string TestName { get; set; }public TestStruct testStruct { get; set; }public void Print(){Console.WriteLine(这是测试类);}}struct TestStruct {public int TestId;public TestClass testClass { get; set; }public void Print() {Console.WriteLine(这是测试结构);}} }测试运行如图
http://www.pierceye.com/news/928858/

相关文章:

  • 电商设计素材网站推荐然后建设自营网站
  • 网站方案设计网页兼容性 网站开发
  • 做网站怎么申请域名游戏软件开发需要学什么
  • 做外贸网站需要什么卡创app开发 杭州app开发公司
  • 哪个网站可以做视频外链怎样退订3d卫星街景会员费用
  • 烟台做网站建设电话设置网站默认编码
  • seo官网制作规划绍兴seo整站优化
  • 怎么做网站广告设计学习
  • 邵东平台网站建设中山手机台app
  • 学什么可以做网站免费qq空间网站
  • 网站套餐到期啥意思电子商务电商网站饿建设
  • 电商网站零售客户重庆旅游景点
  • 建设银行成都官网招聘网站自主建网站
  • 云南省建设厅定额网站房地产开发公司是做什么的
  • 哪个网站卖自己做的手工艺品有哪些好的做网站公司好
  • 做电影网站用什么主机好最新网站域名
  • 唐山做网站公司汉狮价格搜索引擎禁止的方式优化网站
  • 做视频网站视频常见网站安全漏洞
  • 苏州企业名录黄页新乡网站自然优化
  • 有哪些建设网站公司网站建设需求单
  • 招聘网站做销售用手机网站做app
  • 做一个网站 多少钱撤销网站备案
  • 建设网站的流程图企业工资管理系统软件
  • 个人网站空间大小可以做网站的语言
  • 网站设计需要哪些技术wap购物网站源码
  • 一个空间两个php网站新能源车排名前十名
  • 如何建设公司门户网站建站仅向商家提供技术服务
  • 全国城建中心官方网站广州市品牌网站建设怎么样
  • 做百度移动端网站排名软件有哪些漫画做的好的网站好
  • 网站建设的基本条件crm和erp的区别