Update method.md (#3)

补充章节 #### 方法名跟结构体字段名相同 的示例内容
pull/1079/head
Kirin 3 years ago committed by GitHub
parent 618e4b1298
commit 9e89039afd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -142,6 +142,8 @@ fn main() {
用这种方式,我们可以把 `Rectangle` 的字段设置为私有属性,只需把它的 `new``width` 方法设置为公开可见,那么用户就可以创建一个矩形,同时通过访问器 `rect1.width()` 方法来获取矩形的宽度,因为 `width` 字段是私有的,当用户访问 `rect1.width` 字段时,就会报错。注意在此例中,`Self` 指代的就是被实现方法的结构体 `Rectangle`
> 注:如果直接修改运行上述代码会发现可以正常访问到 `width` 字段而不通过 `width()` 方法,是因为结构体的变量在模块`Module`内默认是公开的,在模块`Module`之外才是私有的。关于可见性的内容会在 [模块 Module | 代码可见性](https://course.rs/basic/crate-module/module.html#%E4%BB%A3%E7%A0%81%E5%8F%AF%E8%A7%81%E6%80%A7) 部分说明。
> ### `->` 运算符到哪去了?
>
> 在 C/C++ 语言中,有两个不同的运算符来调用方法:`.` 直接在对象上调用方法,而 `->` 在一个对象的指针上调用方法,这时需要先解引用指针。换句话说,如果 `object` 是一个指针,那么 `object->something()``(*object).something()` 是一样的。

Loading…
Cancel
Save