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

营销型网站制作平台专业网页制作什么好

营销型网站制作平台,专业网页制作什么好,做网站遇上麻烦客,做家居商城网站面向对象的三大特性 继承#xff1a;子类通过继承父类来获取基础特性#xff0c;并且能够基于父类进行扩展以及提升代码的复用性。继承具有传递性#xff0c;例如A继承自B#xff0c;C继承自A#xff0c;那么C就间接继承自B。在C#中#xff0c;每个类仅允许继承一个父类。…面向对象的三大特性 继承子类通过继承父类来获取基础特性并且能够基于父类进行扩展以及提升代码的复用性。继承具有传递性例如A继承自BC继承自A那么C就间接继承自B。在C#中每个类仅允许继承一个父类。继承能够让程序的结构更加明晰。 封装将数据和行为封装为一个独立的单元对外部隐藏具体的实现细节仅提供必要的调用接口从而简化外部调用和提升代码的复用性和可维护性。 多态同一操作针对不同的的对象或应用情景而存在不同的行为例如运行时的多态——重写编译时的多态——重载重写则是根据不同的实例对象而表现不同的行为重载则是根据传递的参数而自动选择对应的行为。 值类型和引用类型  在C#中值类型继承自System.ValueType类包括整型、浮点型、布尔类型、字符型四种简单值类型以及结构体和枚举两种复合值类型这些简单值类型本质上就是结构体。引用类型继承自System.Object类包括class、delegate、array、object等。 GC  GC是一种垃圾回收机制为了高效、便捷和安全地管理内存C#中采用了自动垃圾回收机制由系统代理内存管理从而提高开发效率和避免内存泄漏等问题。C#的GC采用的是标记-清理算法和分代管理方式。 1标记-清理算法是从根对象开始根据对象的引用关系递归标记可达对象在清理阶段则对不可达对象进行内存清理某些GC还会在清理阶段进行内存压缩从而减少内存碎片化。 2分代管理是在托管堆上根据所创建对象的生命周期进行分类刚创建的对象被称为第一代在上一次标记-清理阶段存活下来的对象会被分类为第二代以此类推分代管理的目的是为了通过控制对象进行标记-清理的频率从而提高GC的效率。 反射  反射是一种在运行时动态访问程序集的方式。在C#中通过System.Reflection命名空间中的API在运行时获取程序集的元数据通常我们可以通过获取指定类型的Type对象再通过反射获取其字段、属性和方法等成员实现在运行时间接操作对象不过反射通常会带来一定的性能开销所以不建议大量使用。 StringBuilder和String  StringBuilder顾名思义就是字符串构建器对StringBuilder对象的操作是基于可变内存缓冲区的这个特性减少了创建新对象的需求相较于String类型它更适合频繁操作字符串的应用场景但是它不是线程安全的。String类型是不可变的对其进行的字符串操作通常涉及到需要创建新的String类型对象。总而言之对于需要频繁操作字符串的情况建议使用StringBuilder类型反之使用String类型。 常见容器类  1数组(Array)在定义或初始化时需要明确指定数组长度的容器类严格意义上来说数组可以进行数据修改但是无法进行增加和删除因为数组的长度是固定的要对数组进行增加和删除操作通常需要创建一个新的数组对象。数组的内存是连续的所以其查询和修改的效率是可观的其通常适合存储一些数量固定的数据。 2列表(ListT)列表可以看作是一个动态的泛型数组能够根据需要动态调整容量大小避免了ArrayList中的装箱和拆箱操作由于其底层实现依旧是数组所以增加和删除操作是耗时操作。 3栈(StackT)栈是一种后进先出的数据结构涉及到元素的入栈和出栈操作后入栈的元素则先出栈栈的操作仅支持栈顶操作通常其不适合具有广泛的查询元素需求的应用场景。 4队列(QueueT)队列是一种先进先出的数据结构涉及到元素的入队和出队操作先入队的元素则先出队队列的操作支持队首和队尾操作通常其不适合具有广泛的查询元素需求的应用场景。 5字典(DictionaryK,V)字典是一种基于哈希表的数据结构以键值对的方式保存元素键唯一而值不唯一同一个字典中不允许重复的键但允许重复的值因其基于哈希表的特性所以对于元素的查询、插入和删除操作效率是可观的。 6集合(HashSetT)集合是一种基于哈希表的数据结构它不允许存储重复的元素所以非常适合需要去重的应用场景因其基于哈希表的特性所以对于元素的查询、插入和删除操作效率是可观的。 7哈希表(Hashtable)哈希表的底层实现是数组数组元素由一种名为桶的数据结构组成哈希表通过哈希函数将键映射到数组索引严格来说一个键应该对应一个数组索引当存在不同的键映射到同一个数组索引时则为哈希冲突哈希表的设计关键则在于如何制定哈希函数和处理哈希冲突处理哈希冲突常见的方法有链地址法和开放地址法链地址法则是在数组索引处维护一个链表用于存储映射到该索引的不同键而开放地址法则是通过一定的规则在哈希表中寻找到下一个可用的索引位置然后插入元素。官方建议在新项目的开发中使用字典替代哈希表。 隐式继承和显式继承  在C#中通过英文符号:来实现显式继承显式继承则需要显式指定基类而隐式继承通常由编译器隐藏基类例如声明自定义类时并不需要显式继承System.Object而由编译器自动完成这个继承行为所以声明的自定义类即使没有显式继承自System.Object但实际上却是System.Object的派生类在编译时就会有所体现可以通过自定义类的实例查阅到可调用的方法中包括System.Object的基本方法。 栈内存和堆内存  栈内存是基于栈这种数据结构构建的内存空间通常用于存储代码上下文例如某个被调用的函数的局部变量、参数和返回地址等信息栈内存由编译器或解释器自动管理内存的分配和释放。 堆内存是基于堆这种数据结构构建的内存空间通常用于存储动态分配的数据例如实例对象和数组等堆内存通常由程序员手动管理或者GC自动管理。 栈内存相比堆内存更轻量和便捷访问更加快速内存管理的性能开销更小堆内存相比栈内存拥有更大的存储空间其中的数据没有固定的生命周期可以跨函数或代码块使用。值得注意的是堆内存可能涉及到内存碎片化的问题并且涉及为对象分配合适的内存块而需要更大的性能开销。 析构函数  析构函数的形式是~类名且该函数无需添加任何修饰符没有返回值也没有参数列表。析构函数是在对象销毁时自动调用的函数尽管如此官方并不建议在该函数中去释放托管资源因为GC执行析构函数的顺序是不确定的自主释放托管资源可能导致未知错误。 抽象类和接口的区别  抽象类本质上是一种特殊的类具备构造函数能够声明和定义实例化的字段、属性以及函数同时也能够声明抽象的函数抽象类能够继承其它类和实现接口。与普通的类不同的是抽象类无法直接通过new创建实例而需要通过其派生类间接创建实例并且抽象类的抽象函数必须被派生类实现。 接口仅允许声明而不需要实现字段和函数且均是公开的接口可以嵌套实现其它接口其相比抽象类是更高层次的抽象所以同样无法创建实例。   如果这篇文章对你有帮助请给作者点个赞吧
http://www.dnsts.com.cn/news/261184.html

相关文章:

  • 网站设置成灰色做碳循环的网站
  • 合肥房产网最新楼盘郑州seo关键词推广
  • 珠海市网站设计公司php网站开发 总结
  • 外贸自建站平台怎么选长沙的企业网站建设
  • 视频代做网站wordpress获取当前分类下的子分类
  • 共享ip服务器做网站代写企业软文
  • 外贸网站开发 河南网站如何留住用户
  • cms网站建站流程网站学习流程
  • 怎么做租房网站中国免费网站服务器
  • 做视频网站视频存放问题python18+21
  • 鄂州网站制作中天建设集团山西分公司网站
  • ae模板免费下载网站有哪些软件开发项目管理系统
  • 网站的后台地址梧州网站建设
  • php做的网站怎么运行浙江大学陈越做的刷题网站
  • 网站建设在国内外研究现状php 深圳 电子商务网站开发
  • 做铝锭的网站郑州seo联系搜点网络效果好
  • 如何做网站ip跳转asp网站知道用户名是admin
  • 中卫企业管理培训网站动易网站管理系统下载
  • 购物网站怎么创建百度竞价关键词质量度怎么提升
  • 厦门企业建网站制作网站开发的数据库设计实体是什么
  • 有域名了如何建设网站今晚比赛预测比分
  • 做新闻封面的网站微网站 无锡
  • 新手做电影网站好wordpress显示文章点击量
  • 建设银行租房网站湖北用什么软件做公司网站
  • 烟台网站建设设计开发网站建设技术哪些内容
  • 网站的推广方式wordpress 插件写
  • 电影网站做cpa旅游网站怎么设计
  • 办公门户网站模板下载网站及建设中页面
  • 富平做网站办公室设计说明
  • 企业建网站一般要多少钱阳朔到桂林大巴时刻表