base-class相关内容

简单基类和抽象类之间有什么区别?

我在做一种研发,对抽象类的概念感到困惑。 我对抽象类的了解是,它可以包含具体的方法,也可以包含虚方法。它可能包含抽象方法,也可能不包含抽象方法,并且可能包含字段并限制直接创建实例。 但我们可以在一个简单的基类中实现所有这些(添加虚方法会做很多事情,因为具有虚方法的基类不包含实现,并且覆盖与抽象方法相同)。那么,为什么我们需要一个抽象类,尽管接口支持多重继承和事件? 推荐答案 ..
发布时间:2022-04-03 13:55:09 C#/.NET

扩展 PHPUnit_Framework_TestCase 的不可测试基类

总结 如何创建一个扩展 PHPUnit_Framework_TestCase 的基类并将其用于子类化实际测试用例,而不需要 PHPUnit 对基类本身进行测试? 进一步说明 我有一系列相关的测试用例,为此我创建了一个基类,其中包含一些要被所有测试用例继承的通用测试: BaseClass_TestCase.php:类 BaseClass_TestCase 扩展 PHPUnit_F ..
发布时间:2022-01-25 14:17:37 PHP

为什么对派生类使用基类指针

类基{......虚空函数1();虚空函数2();};类派生::公共基础{整数函数1();整数函数2();};主函数(){导出d;基数 *b = &d;int k = b->function1()//为什么使用 this 而不是下面的行?int k = d.function1();//有了这个,对虚函数的需求就消失了,对吧?} 我不是 CompSci 工程师,我想知道这一点.如果我们可以避免基类 ..
发布时间:2022-01-24 16:10:47 C/C++开发

不完整类型 Qt 的无效使用

我有个小问题: finddialog.h #ifndef FINDDIALOG_H#define FINDDIALOG_H类QDialog;类 QWidget;QLineEdit 类;类 QPushButton;类 QCheckBox;QLabel 类;类 FindDialog:公共 QDialog{Q_OBJECT上市:FindDialog(QWidget *parent);私人插槽:无 ..
发布时间:2022-01-11 15:26:29 C/C++开发

MVC 4 beta 中未触发基类中的 ExecuteCore()

我有一个基本的控制器类: 我所有的其他控制器都像这样继承了这个 BaseClass 所有这些在 MVC3 中都很好用(今天再次测试,它确实有效)但似乎 BaseController 中的 ExecuteCore 在 MVC 4 beta 中不再被触发. 有什么想法吗?或者引擎盖下发生了什么巨大的变化?非常感谢. 公共类 BaseController : 控制器{私人字符串_my ..
发布时间:2022-01-05 17:15:24 其他开发

为什么编译器会在模板参数列表中选择基类构造函数?

这个问题的后续问题. 基本上,在下面的代码中,为什么编译器认为C的构造函数中A里面的B是指B 基类的(不可访问的)构造函数? struct B{};模板 结构 A : 私有 T{};结构 C:公共 A{C(A B );//这里有错误}; Ideone 上的实例. 输出: prog.cpp:1:9: 错误:'struct B B::B' 不可访问 prog.cpp:7:7: ..
发布时间:2022-01-04 11:58:18 C/C++开发

是否可以使用显式类型转换将基类对象分配给派生类引用?

是否可以在 C# 中使用显式类型转换将基类对象分配给派生类引用? 我已经试过了,但它产生了一个运行时错误. 解决方案 没有.对派生类的引用必须实际引用派生类的实例(或 null).否则你会如何期望它的行为? 例如: object o = new object();字符串 s = (字符串) o;int i = s.Length;//这可以明智地做什么? 如果您希望能够将基类 ..
发布时间:2021-12-31 21:27:39 C#/.NET

如何在基类上调用显式实现的接口方法

我有一种情况,两个类(一个派生自另一个)都显式地实现了相同的接口: 接口I{整数 M();}A级:我{int I.M() { 返回 1;}}B类:A,我{int I.M() { 返回 2;}} 从I.M()的派生类的实现,我想调用基类的实现,但我不知道怎么做.到目前为止我尝试的是这个(在 B 类中): int I.M() { return (base as I).M() + 2;}//这给出 ..
发布时间:2021-12-31 14:31:39 C#/.NET

.NET:无法将对象转换为它实现的接口

我有一个类 (TabControlH60),它既继承自基类 (UserControl),又实现了接口 (IFrameworkClient).我使用 .NET Activator 类实例化对象.使用返回的实例,我可以转换为 UserControl 基类,但不能转换为接口.我得到的例外是在代码片段下方.如何投射到界面? object obj = Activator.CreateInstance(ob ..
发布时间:2021-12-31 14:25:05 C#/.NET

会自动调用基类构造函数吗?

class Person{公开年龄;公众人物(){年龄 = 1;}}类客户:人{公共客户(){年龄 += 1;}}客户customer = new Customer(); 客户的年龄是 2 岁吗?似乎无论如何都会调用基类的构造函数.如果是这样,为什么有时我们需要在最后调用base? public Customer() : base(){………………} 解决方案 这就是 C# 的工作方式.类 ..
发布时间:2021-12-30 15:14:59 C#/.NET

删除指向子类的指针是否调用基类析构函数?

我有一个 class A,它为它的一个字段使用堆内存分配.类 A 被实例化并作为指针字段存储在另一个类中(class B. 当我处理完 B 类的对象时,我调用 delete,我假设它调用了析构函数...但这是否也调用了类 A 的析构函数? 编辑: 从答案中,我认为(如果不正确,请编辑): delete B 的实例调用 B::~B(); 调用A::~A(); A::~A ..

将基类转换为派生类 python(或更多 pythonic 扩展类的方式)

我需要扩展 Networkx python 包并向 Graph 类添加一些方法以满足我的特殊需要 我想这样做的方法是简单地派生一个新类,比如 NewGraph,然后添加所需的方法. 然而,networkx 中有几个其他函数可以创建和返回 Graph 对象(例如生成随机图).我现在需要将这些 Graph 对象转换为 NewGraph 对象,以便我可以使用我的新方法. 这样做的最佳方 ..
发布时间:2021-12-17 19:03:27 Python

什么是 ASP.NET MVC 中基本控制器类的良好候选者?

我看到很多人谈论在他们的 ASP.NET MVC 项目中使用基本控制器.我见过的典型示例是为了日志记录或 CRUD 脚手架而这样做的.基本控制器类还有哪些其他好的用途? 解决方案 基本控制器类没有什么用处. 现在听我说. Asp.Net MVC,尤其是 MVC 3 有大量的可扩展性钩子,它们提供了一种更加解耦的方式来向所有控制器添加功能.由于您的控制器类非常重要并且是应用程序的 ..
发布时间:2021-12-03 15:15:13 其他开发

在 Python 中创建单例

这个问题不是讨论单例设计模式是可取的,是一种反模式,或用于任何宗教战争,但要讨论如何以最 Python 化的方式在 Python 中最好地实现这种模式.在这种情况下,我将“最 Pythonic"定义为遵循“最小惊讶原则". 我有多个类会变成单例(我的用例是记录器,但这并不重要).当我可以简单地继承或装饰时,我不希望用添加的口香糖把几个类弄得杂乱无章. 最佳方法: 方法一:装饰器 ..
发布时间:2021-11-30 23:42:53 Python

将此传递给基础构造函数

我正在尝试为我正在编写的程序实现良好的设计模式.我有这样的班级结构. 抽象类 SomeBase{公共 SomeObject obj { 获取;保护集;}受保护的 SomeBase(SomeObject x){obj = x;}//其他方法和字段...}公共类 SomeDerived : SomeBase{public SomeDerived() : base(new SomeObject(thi ..
发布时间:2021-11-25 09:52:49 C#/.NET