oop相关内容

VBA 是一种 OOP 语言,它是否支持多态?

我实际上正在处理我的第一个 VBA 项目.(来自C++) 我想通过实现类和多态来改进 Microsoft Excel 工作簿使用的现有 VBA 项目. 我的问题是: 1 - 我阅读了很多文章/论坛,这些文章/论坛解释了 VBA 不是面向对象的编程 (OOP) 语言,并且不支持多态. 他们中的一些人提出了一种使用关键字Implements的解决方法. 2 - 我还发现了 ..
发布时间:2021-12-02 22:55:51 其他开发

如何在 Objective-C 中声明类级属性?

也许这很明显,但我不知道如何在 Objective-C 中声明类属性. 我需要为每个类缓存一个字典,并想知道如何将其放入类中. 解决方案 属性在 Objective-C 中有特定的含义,但我认为您的意思是等同于静态变量的东西?例如.所有类型的 Foo 只有一个实例? 要在 Objective-C 中声明类函数,请使用 + 前缀而不是 -,因此您的实现将类似于: //Foo.h ..
发布时间:2021-12-02 18:03:03 C/C++开发

使用 alloc init 而不是 new

学习Objective-C并阅读示例代码,我注意到通常使用这种方法创建对象: SomeObject *myObject = [[SomeObject alloc] init]; 代替: SomeObject *myObject = [SomeObject new]; 这是否有原因,因为我已经读到它们是等效的? 解决方案 这里有很多原因:http://macresearch.org/ ..
发布时间:2021-12-02 17:50:12 移动开发

类方法和实例方法有什么区别?

类方法和实例方法有什么区别? 实例方法是访问器(getter 和 setter),而类方法几乎是其他所有东西吗? 解决方案 就像大多数其他答案所说的那样,实例方法使用类的实例,而类方法可以只使用类名.在 Objective-C 中,它们是这样定义的: @interface MyClass : NSObject+ (void)aClassMethod;- (void)anInstan ..
发布时间:2021-12-02 17:34:04 移动开发

使用该类作为其方法中参数的类型提示

我在下面包含的代码会引发以下错误: NameError: name 'Vector2' 未定义 在这一行: def 翻译(自我,位置:Vector2): 为什么 Python 在 Translate 方法中无法识别我的 Vector2 类? 类 Vector2:def __init__(self, x: float, y: float):自我.x = x自我.y = ydef 翻译(自 ..
发布时间:2021-12-02 17:03:01 Python

我什么时候应该使用结构而不是类?

MSDN 说当你需要轻量级对象时你应该使用结构体.结构优于类时还有其他情况吗? 有些人可能已经忘记了: 结构可以有方法. 结构不能被继承. 我了解结构体和类之间的技术差异,只是我不太清楚何时使用结构体. 解决方案 MSDN 有答案:在类和结构之间进行选择. 基本上,该页面为您提供了一个 4 项清单,并说除非您的类型符合所有标准,否则请使用类. 不要定义结构, ..
发布时间:2021-12-02 13:42:57 C#/.NET

您如何有效地对数据库中的继承进行建模?

在数据库中建模继承的最佳实践是什么? 有哪些权衡(例如可查询性)? (我对 SQL Server 和 .NET 最感兴趣,但我也想了解其他平台如何解决这个问题.) 解决方案 有几种方法可以对数据库中的继承进行建模.您选择哪个取决于您的需求.这里有几个选项: 表格类型 (TPT) 每个班级都有自己的表.基类包含所有基类元素,从它派生的每个类都有自己的表,主键也是基类表 ..
发布时间:2021-12-02 13:28:06 C#/.NET

C 语言中的面向对象

在 C 中启用某种丑陋(但可用)的面向对象的一组漂亮的预处理器技巧(ANSI C89/ISO C90 兼容)是什么? 我熟悉几种不同的面向对象语言,所以请不要回答“学习 C++!"之类的答案.我已经阅读了 "Object-Oriented Programming With ANSIC"(注意:PDF 格式)和其他几个有趣的解决方案,但我最感兴趣的是你的 :-)! 另见你能用 C 编写面 ..
发布时间:2021-12-02 08:21:09 其他开发

如何用 C 编写面向对象的代码?

用 C 编写面向对象的代码有哪些方法?尤其是关于多态性. 另见此堆栈溢出问题C 中的面向对象. 解决方案 是的.事实上,Axel Schreiner 提供了他的书“ANSI 中的面向对象编程-C"是免费的,它非常彻底地涵盖了该主题. ..
发布时间:2021-12-01 23:44:57 其他开发

什么时候应该在 C++ 中使用“朋友"?

我一直在阅读 C++ FAQ 并且对 friend 声明.我个人从未使用过它,但我对探索该语言很感兴趣. 使用 friend 的好例子是什么? 阅读 FAQ 多一点我喜欢 > 运算符重载和添加为这些类的朋友的想法.但是我不确定这不会破坏封装.这些异常什么时候才能保持在 OOP 的严格范围内? 解决方案 首先 (IMO) 不要听那些说 friend 没有用的人.它是有益的 ..
发布时间:2021-12-01 15:46:34 C/C++开发

为什么要“PIMPL"习惯用法?

背景: PIMPL Idiom(指向实现的指针)是一种实现隐藏的技术,其中公共类包装了在公共类所属的库之外无法看到的结构或类. 这对库的用户隐藏了内部实现细节和数据. 在实现这个习惯用法时,为什么要将公共方法放在 pimpl 类而不是公共类上,因为公共类方法的实现会被编译到库中,而用户只有头文件? 为了举例说明,这段代码将 Purr() 实现放在 impl 类上并对其进行了 ..
发布时间:2021-12-01 15:35:19 C/C++开发

你不能从 std::vector 继承

好吧,这真的很难承认,但我现在确实有强烈的诱惑要继承std::vector. 我需要大约 10 个自定义向量算法,我希望它们直接成为向量的成员.但自然我也想拥有 std::vector 接口的其余部分.好吧,作为一个守法公民,我的第一个想法是在 MyVector 类中有一个 std::vector 成员.但随后我将不得不手动重新提供所有 std::vector 的接口.打字太多了.接下来,我 ..
发布时间:2021-12-01 15:12:07 C/C++开发

什么时候应该在 C++ 中使用类和结构?

在 C++ 中,struct 与 class 在什么情况下使用更好? 解决方案 class 和 struct 在 C++ 中的区别是: struct 成员和基类/结构默认为 public. class 成员和基类/struts 默认是 private. 类和结构都可以混合使用 public、protected 和 private 成员,可以使用继承并可以具有成员函数. ..
发布时间:2021-12-01 15:04:01 C/C++开发

C++ 中的 i++ 和 ++i 之间有性能差异吗?

我们有一个问题 i++ 和 ++i 在 C 中是否有性能差异强>? C++ 的答案是什么? 解决方案 [执行摘要:如果您没有特定原因使用 i++,请使用 ++i>.] 对于 C++,答案有点复杂. 如果 i 是一个简单类型(不是 C++ 类的实例),那么给出的答案对于 C(“不,没有性能差异") 成立,因为编译器正在生成代码. 但是,如果 i 是 C++ 类的实例, ..
发布时间:2021-12-01 15:03:50 C/C++开发

指向成员函数的函数指针

我想将函数指针设置为类的成员,该类是指向同一类中另一个函数的指针.我这样做的原因很复杂. 在这个例子中,我希望输出为“1" class A {民众:int f();int (*x)();}int A::f() {返回 1;}int main() {一个;a.x = a.f;printf("%d\n",a.x())} 但这在编译时失败.为什么? 解决方案 语法错误.成员指针是与普通 ..
发布时间:2021-12-01 14:59:55 C/C++开发

C++中struct和class有什么区别?

这个问题是已经在 C#/.Net 的上下文中提出的. 现在我想了解 C++ 中结构和类之间的区别.请讨论技术差异以及在 OO 设计中选择其中一种的原因. 我将从一个明显的不同开始: 如果不指定public: 或private:,则结构的成员默认为public;类的成员默认是私有的. 我确信在 C++ 规范的晦涩角落中可以找到其他差异. 解决方案 您忘记了类和结构之间 ..
发布时间:2021-12-01 14:53:40 C/C++开发

面向高级 PHP 开发人员的 MVC

我需要更有经验的程序员的帮助.我想提高我的 MVC 技能.但是我在 Google 上找不到关于 MVC 的好的教程.Google 总是提供“适合初学者的 MVC". 我了解 MVC 是什么并且我可以做到,但我的经验不足,无法在 OOP 中做一些实际的事情. 如果有人知道一个很好的 MVC 面向对象教程,请指引我到正确的地方——我正在寻找好的链接、书籍等. 解决方案 包含纯 ..
发布时间:2021-12-01 11:07:53 PHP

PHP 中的 $this 变量是什么意思?

我一直在 PHP 中看到变量 $this,但我不知道它的用途.我从来没有亲自使用过. 谁能告诉我变量 $this 在 PHP 中是如何工作的? 解决方案 它是对当前对象的引用,在面向对象的代码中最常用. 参考:http://www.php.net/manual/en/language.oop5.basic.php 入门:http://www.phpro.org/教程/面向对象 ..
发布时间:2021-12-01 11:00:14 PHP

在 PHP5 中创建单例设计模式

如何使用 PHP5 类创建单例类? 解决方案 /*** 单例类**/最终类 UserFactory{/*** 调用该方法获取单例** @return 用户工厂*/公共静态函数 Instance(){静态 $inst = null;如果($inst === null){$inst = new UserFactory();}返回 $inst;}/*** 私有 ctor 所以没有人可以实例化它* ..
发布时间:2021-12-01 10:56:21 PHP

如何在我的 Web MVC 应用程序中实现访问控制列表?

第一个问题 请您解释一下如何在 MVC 中实现最简单的 ACL. 这是在控制器中使用 Acl 的第一种方法... setController('MyController');$acl->setMethod('myMethod');$acl->getRole();if (!$acl->allowed()) die(“你不能这样做!");...}}?> 这是非常糟糕的方法,缺点是我们必 ..
发布时间:2021-12-01 10:46:13 PHP