4
|
C. Ross trotttrotttrott · 技术社区 · 15 年前 |
![]() |
1
3
在C++等语言中,可以将拥有的对象嵌入到类中,并通过指针指向被引用的对象。 然而,在诸如Java或C语言等语言中,这种解决方案通常是不可用的。据我所知,大多数现代OO编程语言不区分拥有的对象和引用的对象;这是一个在概念建模级别上很有意义的区别,但出于某种原因编程语言选择忽略它。 就个人而言,我依靠评论和模式来实现这些差异。 |
![]() |
2
1
“处置”是什么意思?你会用一些语言写
但在垃圾收集语言中,我们只需编写代码:
没有区别,拥有与否的区别在记录集的生命周期/工厂/注册表代码中。 如果存在某种开放/关闭的生命周期需求(如JDBC连接),那么该协议由依赖对象定义。 我的初步结论是:在垃圾收集环境中,“拥有的”对象的文档化生命周期给了我们区别。在非GC环境中,我们在需要时使用智能指针管理整理。智能指针的使用使所有权变得清晰。 |
![]() |
3
0
解决此类问题的另一种可能的方法是在变量名上使用某种前缀来区分拥有的对象和非拥有的对象,这是一种自我评价机制,尤其是在非拥有的对象上使用这种前缀。我见过这样一种被称为“app-hungarian”符号的技术。这不是一种普遍流行的技巧,但如果你发现自己在很多时候都在玩杂耍,这会有所帮助。 |
![]() |
Schadre · C-plus编码错误 2 年前 |
![]() |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
![]() |
amirreza870 · Python OOP-更改类文本 3 年前 |
![]() |
A_K · 使用cat或打印方法打印部分内容的子集闭包 3 年前 |
![]() |
Mo Fatah · 如何使用Python类打印数独板? 3 年前 |