"Objects are basic run-time entities in an object-oriented system"是什么意思?
What does it mean by "Objects are basic run-time entities in an object-oriented system"?
我最近开始学习C++,并在教科书中看到了这句话。任何人都可以用一个例子解释一下这意味着什么。提前谢谢。
因为对象在形成时(即在源代码中)没有获得内存空间。这些对象在运行时获取内存空间,即在形成.exe(可执行文件)之后。
运行时实体 = 仅在内存中某处的程序执行期间存在的事物。他们在程序执行之外没有生命。
例如,在C中,运行时实体是结构体,基本类型等。
在面向对象的语言中,使用的实体不是基本类型,而是对象(当然以前的类型也可用,但这些不是使语言面向对象的原因)。
换句话说,在 OOP 语言中,您需要考虑使用(大部分)对象构建解决方案。
对象是一种工具,您可以通过它访问类中的变量。这些对象在实例化时提供内存,这意味着内存是动态提供的,因此称为运行时实体。
理解这个概念的简单方法是 - 对象在编写源代码时不占用内存。取而代之的是,当我们运行源代码时,它们会占用内存。
相关文章:
- 当覆盖存在时调用基本虚拟"binded to object"函数
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- C++将派生类转换为基类时'object slicing'期间发生的情况
- 如何理解 C++17 标准参考中的 [intro.object]/3? N4659 的
- "Cannot convert Python object argument to type '<typename>'" - 使用 Cython 包装 C++ 类时出错
- 使用 object 中的方法调用带有 std::bind 和 std::function.target 的 C 样式函数
- "Called Object Type is Not a Function or Pointer" 与 typedef 和类
- C++线程"Call to non-static member function without an object argument"
- dopen():不以 root 身份运行时"failed to map segment from shared object"
- 当两个成员位于同一类中时出错"a nonstatic member reference must be relative to a specific object"
- Nan::ObjectWrap to Napi::Object Wrap 无法访问 JavaScript 中的属性
- 现代C++会支持 C# "Object Initalizer"语法吗?
- 指向对象生存期之外的已分配内存的指针是"invalid pointer[s]"还是"pointer[s] to an object"?
- C++ Equivalent of Java Map<String, Object>
- WebKit2GTK+ "window-object-cleared"未清除
- 返回 *&object 时是否允许复制/移动省略?
- QPointer::clear() 是删除其引用的指针,还是"Clears this QPointer object."其他含义?
- 为什么委托或闭包通常被称为真正的"object-oriented function pointers"?
- "Objects are basic run-time entities in an object-oriented system"是什么意思?
- Win32:更多"object oriented"窗口消息处理系统