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

沈阳做网站的设计公司哪家好wordpress字体更换

沈阳做网站的设计公司哪家好,wordpress字体更换,游戏代理商,镇江网站定制系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学 Rust 编程】六、枚举和模式匹配 【跟小嘉学 Rust 编程】七、使用包(Packages)、单元包(Crates)和模块(Module)来管理项目 【跟小嘉学 Rust 编程】八、常见的集合 【跟小嘉学 Rust 编程】九、错误处理(Error Handling) 【跟小嘉学 Rust 编程】十一、编写自动化测试 【跟小嘉学 Rust 编程】十二、构建一个命令行程序 【跟小嘉学 Rust 编程】十三、函数式语言特性迭代器和闭包 【跟小嘉学 Rust 编程】十四、关于 Cargo 和 Crates.io 【跟小嘉学 Rust 编程】十五、智能指针(Smart Point) 【跟小嘉学 Rust 编程】十六、无畏并发(Fearless Concurrency) 【跟小嘉学 Rust 编程】十七、面向对象语言特性 文章目录 系列文章目录[TOC](文章目录) 前言一、 面向对象语言特性1.1、对象包含数据Data和行为(Behavior)1.2、封装隐藏实现细节1.3、继承和代码复用 二、使用 trait 对象存储不同类型的值2.1、为共有行为定义为一个 trait2.2、动态派发(dynamic dispatch):和静态派发(static dispatch)2.3、Trait 对象必须保证对象安全 三、实现面向对象设计模式3.1、状态模式(state pattern)3.2、示例代码3.3、 总结 前言 本章节讲解面向对象的特征以及这些特征如何转化为 Rust。 主要教材参考 《The Rust Programming Language》 一、 面向对象语言特性 1.1、对象包含数据Data和行为(Behavior) 面向对象的程序由对象组成对象包含了数据和操作这些数据的过程这些过程通常被称为方法或操作。 基于此定义Rust 是面向对象的。 Struct、emun包含数据impl 块为之提供了方法但是带有方法的 Struct、 enum 并没被称为对象。 1.2、封装隐藏实现细节 封装调用对象外部的代码无法直接访问对象内部的实现细节唯一可以与对象进行交互的方法就是通过它公开的API。 Rust 里面使用 pub 公开数据或方法默认是私有的。 1.3、继承和代码复用 继承使对象可以沿用另外一个对象的数据和行为且无需重复定义相关代码。 Rust 没有继承。 使用继承的原因 代码复用Rust 使用 Trait方法来进行代码共享多态Rust 使用泛型 和 trait 约束(限定参数化多态 bounded parametric) 二、使用 trait 对象存储不同类型的值 2.1、为共有行为定义为一个 trait pub trait Draw{fn draw(self); }2.2、动态派发(dynamic dispatch):和静态派发(static dispatch) Trait 对象执行的是动态派发将Trait约束作用于泛型Rust 编译器会执行单态化编译器会为我们用来替换泛型类型参数的每个具体类型生成对应函数和方法的非泛型实现。 通过态化生成的代码会执行静态派发(static dispatch)在编译过程中确定调用的具体方法 动态派发(dynamic dispatch): 无法确定在编译过程中你调用究竟是哪一种方法编译器会产生额外的代码以便在运行时找出希望调用的方法 使用 trait 对象会执行动态派发产生运行时开销阻止编译器内联方法代码使得部分优化操作无法进行。 trait 对象必须保证对象安全 2.3、Trait 对象必须保证对象安全 只能把满足对象安全的trait 转化 trait 对象 Rust 采用一系列规则来判定某个对象是否安全只需要记住两条 方法的返回类型不是 Self方法中不包含任何泛型类型参数 三、实现面向对象设计模式 3.1、状态模式(state pattern) 状态模式是一种面向对象设计模式一个值拥有内部状态由数个状态对象(state object) 表达而成而值的行为则随着内部状态的改变而改变 使用状态模式意味着 业务需求变化时不需要修改持有状态的值的代码或者使用这个值的代码只需要更新状态对象内部的代码以便改变其规则或增加一些新的状态对象 3.2、示例代码 pub struct Post {state: OptionBoxdyn State,content: String, }impl Post {pub fn new() - Post {Post {state: Some(Box::new(Draft {})),content: String::new(),}}pub fn add_text(mut self, text: str) {self.content.push_str(text);}pub fn content(self) - str {self.state.as_ref().unwrap().content(self)}pub fn request_review(mut self) {if let Some(s) self.state.take() {self.state Some(s.request_review())}} }trait State {fn request_review(self: BoxSelf) - Boxdyn State;fn contenta(self, post: a Post) - a str {} }struct Draft {}impl State for Draft {fn request_review(self: BoxSelf) - Boxdyn State {Box::new(PendingReview {})} }struct PendingReview {}impl State for PendingReview {fn request_review(self: BoxSelf) - Boxdyn State {self} }struct Published {}impl State for Published {fn request_review(self: BoxSelf) - Boxdyn State {self}fn approve(self: BoxSelf) - Boxdyn State {self}fn contenta(self, post: a Post) - a str {post.content} }缺点 某些状态之间是相互耦合的需要重复实现一些逻辑代码 3.3、 总结 以上就是今天要讲的内容
http://mrfarshtey.net/news/18837/

相关文章:

  • 有什么网站可以做毕业影像易优建站
  • 自己做的网站 怎么在网上销售公共资源交易中心是事业单位吗
  • 资讯网站建设网站加速打开
  • 国外做电商网站wordpress xss漏洞
  • 哪个网站做视频有收益乐陵网站优化
  • 网站高并发前端怎么做网站加速工具
  • 如何做网站首页优化网站后台验证码不显示
  • 网站设计带装修网站大概收费wordpress获取gallery
  • 温州建设监理协会网站北京市门户网站建设
  • 电子商务与网站建设的报告wordpress文章新窗口打开
  • 网站与备案信息不符国内人工智能比较厉害的公司
  • 网站备案通过wordpress和php
  • 北京的网站建设公司哪家好房地产开发公司简介范文大全
  • 温州市网络公司网站建设公司做网站编辑好还是期刊编辑好
  • 聊城建网站服务wap网站软件
  • 建设购物平台网站资源采集网站如何做
  • 做淘宝美工和网站设计那个好百度关键词收录
  • 贵州省住房与城乡建设厅网站招聘网站做销售怎么样
  • 网站如何做h5动态页面设计深圳定制展会时间表
  • 精品课程网站建设的背景及意义网站一般用什么数据库
  • 制作网站问题和解决方法剪辑素材网站
  • 建网站 南京建网站外包需要多少钱
  • 签了外包合同被辞退有补偿吗seo是什么意思som
  • 怎样提高网站的权重整合营销传播方案案例
  • 地产公司网站建设中国最新新闻
  • 为网站网站做宣传山东定制网页建站
  • 网站维护多少钱一个月ui设计学校
  • 龙口网站制作公司lamp网站开发黄金组合 pdf
  • 在线做图网站物流网站做那个好
  • 做app挣钱还是网站python 显示wordpress