标签: interface

如何使抽象类正确返回另一个抽象类的具体实例?

我最近重新编写了一个自己的库来尝试将接口与实现分离.我在最后一个问题上遇到了一个用于返回另一个类的实例的类.

在接口定义中,我做了类似的事情

struct IFoo
{
    virtual const IBar& getBar() = 0;
}
Run Code Online (Sandbox Code Playgroud)

然后在具体的Foo getBar看起来像

const IBar& Foo::getBar()
{
    Bar ret = Bar();
    return ret;
}
Run Code Online (Sandbox Code Playgroud)

问题是,一旦getBar完成就会删除ret,当复制构造函数试图像这样使用Bar时会导致严重崩溃

const Bar myBar = myFoo.getBar();
Run Code Online (Sandbox Code Playgroud)

我一直在阅读各种各样的东西,我知道通过引用返回是不受欢迎的,但我没有看到任何其他方式(我不想返回Bar*因为我不想手动删除返回值).

抽象类返回从另一个抽象类派生的具体类的实例的正确方法(如果存在任何方式)是什么?

注意我确实看到了这个解决方案:从函数返回一个抽象类, 但我不想让返回值静态和松散线程安全.

c++ abstract-class interface

0
推荐指数
1
解决办法
1386
查看次数

是否有可能不实现从C#中的接口继承的方法?

纵观Project Server 2010的SDK(发现这里在.net反射,我发现一些有趣的事情是让我困惑.

显然,SvcProject.ProjectClient该类ProjectServerServices.dll继承自System.ServiceModel.ClientBase<Project>,这是一个实现System.IDisposable接口的抽象类.但是,当我检查SvcProject.ProjectClient类(不是抽象的)时,没有Dispose方法.是什么赋予了?我认为从接口继承的每个方法都必须在具体的实现中实现(否则接口的用途是什么)..NET Reflector对我说谎吗?微软出于某种原因绕过了这个要求吗?这是怎么回事?

c# implementation interface

0
推荐指数
2
解决办法
496
查看次数

如何在接口中查找静态字符串

我有下面的界面;

public static interface Attributes
{
        public final static String InterestDeterminationDate = "InterestDeterminationDate";
        public final static String CreditType = "CreditType";
        public final static String NumberInternal = "NumberInternal";
        public final static String InterestRate = "InterestRate";
        public final static String RemainingDebtAmount = "RemainingDebtAmount";
        public final static String ConsumerPart = "ConsumerPart";
        public final static String TechnicalProductName = "TechnicalProductName";
        public final static String TermOfDuration = "TermOfDuration";
        public final static String PeriodInterestTaxReduction = "PeriodInterestTaxReduction";
        public final static String OriginMark = "OriginMark";
        public final static String …
Run Code Online (Sandbox Code Playgroud)

java string static interface

0
推荐指数
1
解决办法
557
查看次数

类应该何时实现接口,何时不应该?

一个类是否应该实现一个接口,以便在类上强制执行某种"契约"?

什么时候不应该实现一个接口?

编辑:意思,什么时候让一个类实现一个接口是值得的?为什么没有一个类只有公共成员和私有成员具有各种访问者/设置者功能?

(注意:不是在谈论COM)

.net c# interface

0
推荐指数
1
解决办法
573
查看次数

接口强制抽象类实现其功能

我有一个实现3个接口的抽象类.

 public abstract class ServiceBaseCore<Entity, EntityKey> : MarshalByRefObject, IComponentService, IEntityProvider<Entity, EntityKey>
    where Entity : IEntityId<EntityKey>, new()
    where EntityKey : IEntityKey, new()
{
 // Provided functionality/body to some methods of interface
}
Run Code Online (Sandbox Code Playgroud)

问题:我得到的错误是我的抽象类没有为接口函数提供实现(定义/正文),其中我读到的是"如果一个类是抽象的,那么就不需要为所有/任何函数提供主体界面实施".

注意:代码是由codeSmith生成的,即使它显示错误.

请告诉我我错在哪里以及我错过了什么.

谢谢

c# abstract-class interface

0
推荐指数
1
解决办法
222
查看次数

怀疑接口的实现

首先,这只是一个面向对象的编程问题,并不特别适用于任何语言.

这对我来说非常尴尬.这件事发生在我的工作中,我太害羞了,无法向同事澄清这一点,因为这表明我对面向对象编程的理解不足.所以这是事件:

有它实现接口I.这个接口有M. A类定义了体或者说此方法的实现的方法的A类.现在我有一个工具,使用它我可以找出哪些其他类或程序使用,或者换句话说,调用A类 - >方法M.When我用这个工具,它不返回任何结果; 我没有上课的指示是调用方法M.

当我分享我的观察与资深同事,他干脆跑到接口I - >法男,并在此所用的工具.它返回了不少结果.他告诉我,这些都是类或调用子程序M的方法,让我继续.

这个结果显然是实现接口I的那些类的列表.但我不明白的是,这是如何调用类A - >方法M的类或方法的集合.因为我自信地告诉我的同事没有类调用方法M,在他向我展示结果列表后,我太尴尬地问他怎么样,我正在寻找的结果.

知道我的同事暗示的是什么吗?

此致,Mithun

oop class-design interface class

0
推荐指数
2
解决办法
100
查看次数

什么是objective-c中的协议

可能重复:
什么是协议

喜

如何在Objective-c中使用协议?它的优点是什么?

感谢和问候+

protocols interface objective-c

0
推荐指数
1
解决办法
8884
查看次数

泛型问题

我有以下声明:

    List<List<String>> myList  = new ArrayList<ArrayList<String>>();

    List<ArrayList<String>> myList  = new ArrayList<ArrayList<String>>();
Run Code Online (Sandbox Code Playgroud)

第一个给出编译错误.我们不应该编码接口吗?在这里,我被迫按类而不是接口进行编码.这是一个泛型失败,还是我理解错了?

java generics interface

0
推荐指数
1
解决办法
153
查看次数

对象问题的类型

在C#中,我有一个接口,并且有一些类将实现此接口.我有一个通用的实用程序类,我想限制,以便实用程序类只能使用实现该接口的类型声明,如下所示,我该怎么办?

public interface IMyInterface 
{}

public class A : IMyInterface {} // can pass into UtilityClass
public interface B : IMyInterface{}
public class C : B {} // can pass into UtilityClass
public class D {} // can Not pass into UtilityClass

public class UtilityClass<T is IMyInterface>
{
// some utility function
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

c# types interface

0
推荐指数
1
解决办法
86
查看次数

SQL Query数据库接口

我的开发团队,如果离岸和主机在测试站点上工作.我希望他们在测试站点上创建一个接口,在那里我可以运行SQL查询来检查数据库中的数据(因此所有读取)+能够通过接口加载查找值/创建表等(写入).

我看到stackoverflow与它的数据资源管理器类似,我们可以通过自定义查询读取数据.我需要同样的东西+还需要写.

所以问题是:如何创建这个界面?它是一个插件,现成的开源还是需要从头开始?

我正在使用PHP codeignitor和MySQL.

sql database interface

0
推荐指数
1
解决办法
1371
查看次数