oop相关内容

为什么 Python 类会继承对象?

类声明是否有任何理由从 object 继承? 我刚刚找到了一些执行此操作的代码,但我找不到很好的理由. class MyClass(object):# 类代码如下... 解决方案 类声明是否有任何理由从 object 继承? 在 Python 3 中,除了 Python 2 和 3 的兼容性之外,没有理由.在 Python 2 中,原因很多. Python 2.x 故事 ..
发布时间:2022-01-30 08:24:01 Python

PHPUnit - 使用 $this 或 self 作为静态方法?

我不想写长文,因为这是一个简短的问题.PHPUnit 测试包含几个静态方法.例如所有那些 \PHPUnit\Framework\Assert::assert*() 方法 以及 identicalTo、equalTo. 我的 IDE(带有 IntelliSense/autocompletion)不接受使用 $this 的调用,而是使用 self.我了解到静态函数应该通过类调用,而不是对象,所以 ..
发布时间:2022-01-25 13:16:42 PHP

小尺寸微控制器上的 C++

在我看来,人们似乎一直在回避,或者更确切地说,强烈反对在微控制器上使用 C++,但我终其一生都无法弄清楚原因.如果您远离大型 C++ 库(例如 STL)并且不尝试使用 RTTI 或异常处理等复杂功能,那么 C 与 C++ 之间真的有任何明显的区别吗?虚拟继承对复杂性或占用空间有巨大影响吗?我认为这将是一个额外的内存,但大部分复杂性将由编译器处理,但话又说回来,我对那个黑魔法知之甚少.我只是不明白为 ..
发布时间:2022-01-25 12:11:11 C/C++开发

C++ 多维数据处理

很多时候,我发现自己不得不为多维数据定义一个容器. 举个例子:我有很多芯片,每个芯片有很多寄存器,每个寄存器有很多单元,每个单元有很多晶体管. 在我的 C++ 程序的某个阶段,我必须读取这些数据,然后我必须使用它. 我不能为这些数据使用任何外部存储:文件、数据库等. 那么,我应该创建一些多维 STL 容器吗?一张矢量地图,或者类似的东西……? 或者我应该为它们中的每一 ..
发布时间:2022-01-24 20:57:40 C/C++开发

为什么我可以创建具有父类类型的变量

当我有这些课程时: 公开课大师{公共字符串测试(){返回“我是主对象";}公共字符串 boeh(){返回“仅在主人内部";}} public class Slave extends Master{公共字符串测试(){return "我是从属对象";}公共字符串 mehh(){返回“只有 insde 奴隶";}} 我知道我可以这样做:Master jedi = new Slave()(因为 S ..
发布时间:2022-01-24 16:49:58 Java开发

VB.NET 中的多态性通过后期绑定不允许使用事件,解决方法?

我正在开发一个与 USB 传感器系列通信的应用程序.我创建了一个基本实现,它使用了一个名为 Sensor 的类.该类包含允许与传感器交互的事件和方法(还涉及一个线程任务处理器,但我将举一个简单的示例). 我的问题是这个简单的概念验证示例运行良好,但现在我需要扩展应用程序以支持整个传感器系列.为此,我创建了一个包含所有适当方法和事件的 BaseSensor 类,然后我创建了多个子类,例如 Se ..
发布时间:2022-01-24 16:49:53 其他开发

当我可以通过引用子类来访问所有方法时,为什么还要引用基类?

我正在学习 Java 概念.我对java继承概念有疑问.在继承中,我们可以将子类实例分配给基类引用并且我们只能访问基类函数.我们可以将继承层次结构中的任何子类实例分配给基类引用.对于分配给特定基类引用的实例类型,我们只能访问基类函数,我没有发现任何区别. 谁能给我一个实际的概念为什么我们必须将子类实例分配给基类引用?有什么必要这样做?相反,我们可以从仅知道子类引用的子类引用中访问那些基类函数 ..
发布时间:2022-01-24 16:48:33 Java开发

new() 约束对类定义有什么作用?

我看到了这个代码示例,想知道 new() 约束的目的是什么: 公共类客户端;: IClient where T : IClientFactory, new(){公共客户端(int UserID){ }} 解决方案 这就是所谓的“‘新’约束".这里是文档. 新约束指定泛型类声明中的任何类型参数都必须具有公共无参数构造函数.要使用新的约束,类型不能是抽象的. (强调我的) 基本 ..
发布时间:2022-01-24 16:47:17 C#/.NET

“策略设计模式"仅仅是多态性的基本使用吗?

在策略设计模式中,我们所做的是 创建一个通用接口. 使用该接口和重写的方法实现一组类. 让运行时为与该公共接口具有相同类型的对象选择实际类,并调用将根据类正确解析的覆盖方法. 我的问题是,这不是我们学习的多态性和方法覆盖的基本示例吗? 除了可以使用抽象类,替换通用接口之外. 解决方案 你描述的是一种实现策略模式的方法.您还描述了如何实现很多不同的设计,因为我们可能想要 ..

Go 语言中的多态性

我正在学习 go lang,我想知道是否有办法做这样的事情: type Foo 结构 {...}类型酒吧结构{富...}函数 getFoo() Foo {返回栏{...}} 在面向对象的语言中,这样的代码应该可以正常工作,但是在 go 中它会抛出一个错误,说 getFoo() 必须返回类 Foo 的实例. 有没有办法实现类似于我在 Go 中描述的多态性? 解决方案 Go 不是典型 ..
发布时间:2022-01-24 16:40:23 其他开发

为什么维基百科说“多态与方法重载或方法覆盖不同".

我环顾四周,找不到任何类似的问题. 这是我从 Wikipedia 得到的段落:p> 多态与方法重载或方法覆盖不同.多态性仅涉及将特定实现应用于接口或更通用的基类.方法重载是指在同一个类中具有相同名称但不同签名的方法.方法覆盖是子类替换其父类的一个或多个方法的实现的地方.方法重载和方法覆盖本身都不是多态性的实现. 这里有人可以更清楚地解释它,尤其是“多态性与方法覆盖不同"部分吗?我现在 ..
发布时间:2022-01-24 16:38:02 其他开发

在 C# 中使用“新"修饰符

我读到 new 修饰符隐藏了基类方法. 使用系统;A级{公共无效 Y(){Console.WriteLine("A.Y");}}B类:A{公共新无效 Y(){//此方法隐藏 A.Y.//仅通过 B 类型引用调用.Console.WriteLine("B.Y");}}课堂节目{静态无效主要(){A ref1 = 新 A();//不同的新A ref2 = 新 B();//多态性B ref3 = 新 ..
发布时间:2022-01-24 16:35:22 C#/.NET