abstract相关内容

C ++抽象类:构造函数是或否?

具有一个(或多个)虚拟纯函数的类是抽象的,不能用于创建一个新对象,因此它没有构造函数。 现在,我正在读一本有以下例子的书: class Employee { public: Employee(const char *,const char *); 〜Employee(); const char * getFirstName()const; const char * ge ..
发布时间:2016-10-14 23:05:21 C/C++开发

创建不同子类的实例的向量

尝试搜索,没有返回(i ithink)。 是否可以创建抽象类的向量? 例如,我有超级类Unit。 我有子类兵士,车辆和轰炸机。 然而,我想要任何子类的一个向量中的实例,例如向量UnitList可以持有士兵和车辆的实例? 这是可能吗? 我使用C ++如果它有帮助。 解决方案 是的,但你需要使用指针或智能指针(我会用这个)。 struct X { ..
发布时间:2016-10-13 09:59:44 C/C++开发

非通用类重写抽象泛型方法

基类 类抽屉 { 公共抽象无效抽奖< T>(T型); } 派生类#1 类ADrawer:抽屉 { 公共覆盖无效抽奖< T>(列表< T>清单) { 的foreach(列表中的一个变种) { DrawA(一); } } 公共无效DrawA(代理A) { //绘制代码在这里 } $} b $ b ..
发布时间:2016-10-05 22:34:27 C#/.NET

创建,在C#实现多个接口一个抽象类

我想C#创建一个抽象类,从不同的界面,“继承”,但留下的具体落实到子类。然而,编译器抱怨,该类犯规实现接口指定的方法。我已经习惯了Java的这哪里总是工作,所以我不知道它是如何应该在C#中工作。无论如何,这是我的代码: 公共抽象类MyClass的:IDisposable接口,IPartImportsSatisfiedNotification { 私人字符串名称; 公共MyClass的( ..
发布时间:2016-10-05 00:02:24 C#/.NET

在覆盖添加制定者的属性

为什么不允许更改属性的getter和setter方法的可见性和存在实现一个接口的时候? 接口IFoo的 { 串酒吧{搞定; } } 类RealFoo:IFoo的 { 公共RealFoo(串吧) { this.Bar =栏; } 公共字符串酒吧{搞定;私人集; } } 类StubFoo:IFoo的 { 公共字符串酒吧{搞定;组; } } ..
发布时间:2016-09-29 11:40:25 C#/.NET

为什么C#允许没有抽象成员的抽象类?

C#的规范,节10.1.1.1 指出: 这是抽象类是允许的(但不是必需的 )包含抽象的 的成员。 这让我可以创建类是这样的: 公共抽象A类 { 公共无效的主要() { //它充满逻辑! } } 甚至更好: 公共抽象类的一个 { 公共虚拟无效的主要(){} } 酒店的公共抽象b类:A { 公共覆盖密封无效的主要() { // ..
发布时间:2016-09-26 13:17:59 C#/.NET

C#抽象类实现一个接口

我已经看到了下面的代码布局读书论坛等博客文章和适应,以问几个问题。 公共接口IService< T> { INT加入(T实体); 无效更新(T实体); } 公共抽象类ServiceBase< T> :IService< T> { 公众诠释添加(T实体){...} 公共无效更新(T实体){...} } 公共接口ICarServi ..
发布时间:2016-09-22 20:35:28 C#/.NET

对比:接口方法VS虚方法VS抽象方法

什么是每一种的优点和缺点是什么? 接口中的方法 虚拟方法 抽象方法 当一个人应该选择什么?什么是做这个决定时,应该记住的要点? 解决方案 虚拟和抽象的几乎是相同的。虚拟方法具有可选择覆盖基类的实现,而一个抽象的方法不和的必须的可以在子类中重写。否则,它们是相同的。它们之间的选择取决于具体情况。如果你有一个基本实现,您可以使用虚拟的。如果不这样做,你需要每一个后代来实现它为自 ..
发布时间:2016-09-22 19:52:47 C#/.NET

不知道什么时候使用抽象属性,什么时候不

我真的不知道有什么好看还是当我真正在抽象类和属性,或当使用非抽象的性质使用。我会尽力做一个简单的例子。比方说,我有这样的: 抽象类人 { 公共GenderType性别{搞定;组; } 公共字符串名称{;组;生于} 公开日期{搞定;组; } 公共BOOL IsNerd {搞定;组; } 抽象的公共无效说话(); 抽象的公共无效睡眠(); 抽象的公共无效AnoyingPeopl ..
发布时间:2016-09-22 19:48:12 C#/.NET

抽象方法重写抽象方法

公共抽象类的一个 { 公共抽象无效处理(); } 公共抽象B类:A { 公共抽象覆盖无效处理(); } 公共类C:B { 公共覆盖无效的过程() { Console.WriteLine(“ABC”) ; } } 这代码抛出编译错误:'B'呢没有实现继承的抽象成员“A.Process()'。 有没有办法做到这一点? 解决方案 刚刚 ..
发布时间:2016-09-20 21:16:11 C#/.NET

命名约定GoF的工厂?

此模式使用一个抽象工厂,然后在工厂的实现。 我相信有这两个类标准命名约定,但我不。'知道它是什么 例如: 公共抽象类ChocolateFactory {}; 公共类MyChocolateFactory {}:ChocolateFactory 什么是标准约定在这里? 我想无论是ChocolateFactoryBase,或ConcreteChocolateFacto ..
发布时间:2016-09-20 09:41:01 C#/.NET

C#抽象类的静态字段继承

我觉得像我跳过一个C#类或两个,但这里是我的困境: 我有我从中派生多个子类的抽象类。 我知道肯定每个子类中,我将有一个需要一定的静态对象作为模型构造这个对象将是每个子类的不同。 我的第一种方法是使抽象父类中的公共静态对象,然后,我才开始创建子类的任何实例,我将修改为每他们,但事实证明,这种方式实际上我只作一个静态对象,抽象类,以及每个它的子类使用它。 我怎么能?解决这个问题 ..
发布时间:2016-09-18 11:40:49 C#/.NET

我如何可以强制继承类来实现在C#中的静态方法?

所有我想要做的就是确保类的子类的项目实施静态方式,我想这是检查。在编译时避免运行时错误 抽象类的静态方法似乎不工作: 错误:静态成员 不能被标记为 超控,虚拟或抽象 公共抽象类项目 { 公共静态抽象项目GetHistoricalItem(INT编号,日期pastDateTime); } 公共类客户:项目 { 公共静态覆盖客户GetHistoricalItem(IN ..
发布时间:2016-09-08 18:52:02 C#/.NET

C#中:没有定义新的类创建一个抽象类的实例

我知道它可以用Java做的,因为我已经在过去使用这种技术相当广泛。在Java中,例如将在下面示出。 (附加的问题,什么是这种技术叫什么?这是很难找到这样的例子没有名字。) 公共抽象类例如{ 公共抽象无效doStuff(); } 公共类StartHere { 公共静态无效的主要(字串[] args){ 例如,X =新实例(){ 公共无效doStuff(){ 的System.out.pr ..
发布时间:2016-09-08 18:17:22 C#/.NET

如何通过一个密封类实现编译器优化虚拟方法

我不知道下面的代码是如何优化。特别是关于虚拟和直接调用。我已经谈到如何,我认为一切都在优化,但这些都只是猜测。 公共抽象类超 { 酒店的公共抽象无效美孚(); 公共无效FooUser() { 美孚(); } } 公共类Child1:超 { 公众覆盖无效美孚() { // DoSomething的 } } 公共类SealedChild:超 { 公众覆盖无效美 ..
发布时间:2016-09-07 12:38:28 C#/.NET

覆盖抽象只读属性为读/写性能

我想只有从基抽象类强制C#吸气的实施在给定的属性。 。派生类可能,如果他们愿意,还提供了该财产供公众使用的静态绑定类型的二传手 由于以下抽象类: 公共抽象类基地 { 公共抽象int属性{搞定; } } 如果我想要一个派生类还实现了一个二传手,我天真地尝试: 公共类派生:基本 { 公众覆盖int属性 { {返回场; } 集合{字段=值; } //错误 ..
发布时间:2016-09-06 14:57:08 C#/.NET

C#,实施“静态抽象的”喜欢方法

我最近碰到它似乎我需要一个“静态抽象”的方法有问题。我知道为什么这是不可能的,但我怎么能解决这个限制? 例如我有其中有一个描述字符串的抽象类。由于该字符串是很常见的所有情况下,它被标记为静态的,但我想需要从这个类派生的所有类提供自己的Description属性,所以我将其标记为抽象的: 抽象类AbstractBase { ... 公共静态抽象字符串描述{获得;} ... ..
发布时间:2016-08-29 12:32:23 C#/.NET

什么是C#中使用“抽象覆盖”的?

只是出于好奇,我试图重写在基类中的抽象方法,和方法的实施抽象。如下图所示: 公共抽象类FirstAbstract { 公共抽象无效的someMethod(); }公共抽象类SecondAbstract:FirstAbstract { 公共抽象覆盖无效的someMethod(); //?这确实让什么意义?没有implementaion无论如何都会迫使派生类实现抽象的方法? ..
发布时间:2016-08-28 15:00:15 C#/.NET