标签: implements

在VB.NET中使用单个属性实现多个接口

在启动时,我将所有app.config值加载到一个名为的类中ConfigValues.我的数据库只需要其中一些,所以我有一个IDatabaseConfig接口,只指定它需要的参数.这样,当我使用构造函数注入创建数据库连接类时,我可以要求它传递任何实现的东西IDatabaseConfig.

我想做的是在ConfigValues类上声明多个接口,并允许一些属性同时实现多个合同.

这是一个小代码示例:

Public Interface IAppConfig
    Property Server As String
    Property ErrorPath As String
End Interface

Public Interface IDatabaseConfig
    Property Server As String
End Interface

Public Class ConfigValues
    Implements IAppConfig
    Implements IDatabaseConfig

    Public Property ErrorPath As String Implements IAppConfig.ErrorPath

    'need different syntax - does not compile:
    Public Property Server As String Implements IAppConfig.Server, 
                                     Implements IDatabaseConfig.Server

End Class
Run Code Online (Sandbox Code Playgroud)

在VB.NET中,有没有办法指定单个属性满足多个接口的契约?

这与SO上的这两个问题完全相反,它们试图将相同的接口名称拆分为两个不同的属性.


作为一个笨重的解决方法,我可以让两个属性引用相同的支持属性,但我必须更改其中至少一个属性名称,这会更改API.

Private _server As String
Public Property ServerForApp As String Implements …
Run Code Online (Sandbox Code Playgroud)

.net vb.net interface implements

5
推荐指数
1
解决办法
4507
查看次数

是Object层次结构的接口部分吗?

请在下面找到解释问题的代码段.

public class Test {

/**
 * @param args
 */
public static void main(String[] args) {
    I ref = new B();
    ref.equals("");
}

}

interface I{

}

class A {
public void method(){

}
}

class B extends A implements I{

}
Run Code Online (Sandbox Code Playgroud)

请参考main(),ref.equals()允许但ref.method()不允许.为什么会这样?

编辑:对象是B(或A或任何其他类)的超类,但同样的方式A也是B的超类.我的问题是为什么A的'method()'在'ref'中不可见,即为什么允许ref.equals()但ref.method()不是?如何进行此方法可见性检查?它是否植根于JVM?

java extends interface object implements

4
推荐指数
1
解决办法
451
查看次数

试图导出到csv但我如何从委托实现?

[new to swift]我测试这个函数来导出一些简单的文件

    @IBAction func exportFile(delegate: UIDocumentInteractionControllerDelegate) {
        print("export csv")
       let fileName = tmpDir.stringByAppendingPathComponent("myFile.csv")
        let url: NSURL! = NSURL(fileURLWithPath: fileName)

        if url != nil {
            let docController = UIDocumentInteractionController(URL: url)
            docController.UTI = "public.comma-separated-values-text"
            docController.delegate = delegate
            docController.presentPreviewAnimated(true)

        }
}
 // Return the view controller from which the UIDocumentInteractionController will present itself.
    func documentInteractionControllerViewControllerForPreview(controller: UIDocumentInteractionController)-> UIViewController {
        return self
    }
Run Code Online (Sandbox Code Playgroud)

但是当我点击导出按钮时,我收到了消息

UIDocumentInteractionController delegate must implement documentInteractionControllerViewControllerForPreview: to allow preview
Run Code Online (Sandbox Code Playgroud)

我想

class ViewController:UIViewController,UIDocumentInteractionControllerDelegate {

会足够吗?

我试过Self.documentInteractionControllerViewForPreview(docController)

[编辑]原来我犯了以下错误docController.delegate = self //委托

delegates implements ios swift

4
推荐指数
1
解决办法
1484
查看次数

__autoload检测并包含接口

我在我的脚本中使用__autoload来根据需要包含类.我的脚本使用类名中的提示来查找包含它的文件.如果它在模型中结束,它在模型目录中,控制器在控制器目录中等.我开始实现接口,因此需要调整我的自动加载器.

理想情况下,创建对象时,自动装带器将确定对象的文件名,存储位置,并包含该文件.然后它将询问该类以实现它所接口的接口,然后自动包含这些文件.

就像是

function __autoload($classname){
    echo $classname;
    include ("classes/$classname.php");
    $interfaces = class_implements($classname,FALSE);
    foreach($interfaces as $name){
        if(!class_exists($name,FALSE)){
        include("interfaces/".$name."inter.php");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

除非我这样做,否则我会收到错误

无法在第11行的W:\ xampp\htdocs\test\auto.php中重新声明__autoload()(之前在W:\ xampp\htdocs\test\auto.php:5中声明)

是不是可以在__autoload()中执行此操作?我是否应该继续依赖命名约定来区分对象类型和存储位置?

php interface autoload implements

3
推荐指数
1
解决办法
3294
查看次数

Java扩展了替代品

我正在努力建立我们大学课程管理系统的模型(课程).我偶然发现了一个扩展的小限制,也就是说,某个类不可能扩展两个类.这是模型:

                     Professor
                    /                  
             Staff
          /          \                       
    Person            Tutor            
           \         /      
             Student            
Run Code Online (Sandbox Code Playgroud)

因此,我得到了员工和学生扩展人员和教授扩展员工.现在我与班级导师有一个小小的困境,他基本上是一名学生(有学生ID),但在某种意义上是大学员工(担任小组讲座,负责某个项目等).既然不能使用两个延伸,有什么其他选择,如果可能的话可能有人给一个非常简单的例子工具?我已经看过它的一个接口示例,但我不确定我如何在我的程序中使用它,因为Student不是一个接口?

java extends subclass implements

3
推荐指数
1
解决办法
1895
查看次数

由于Java中的类不能扩展多个类.我怎么能得到这个?

我有两个类需要扩展一个类.我收到编译器错误,因为这不会发生在Java中.我知道您可以在Java中实现任意数量的接口,但只能扩展另一个类.我该如何解决这个问题?

java extends interface class implements

3
推荐指数
1
解决办法
2万
查看次数

实现接口和对象

当一个类实现一个接口时,是否会使从该类实例化的对象被视为该接口的对象?

即在实现Runnable接口的类上,是否会将从该类创建的实例称为Runnable对象?

因此,在期望Runnable对象引用变量(例如,在方法或构造函数的参数中)的情况下,为什么我们可以提供该类的实例作为该方法或构造函数的参数是合法的?是因为通过实现接口,类本质上是接口的对象吗?

java oop interface object implements

3
推荐指数
1
解决办法
187
查看次数

类错误地实现了接口“ OnChanges”。类型中缺少属性“ ngOnChanges”

我基本上开始使用angular 4并使用ngChanges遇到此错误

类“ GalleryComponent”错误地实现了接口“ OnChanges”。类型“ GalleryComponent”中缺少属性“ ngOnChanges”。

我真的不知道该怎么办,我知道一个类可以有多个接口,但是仅使用一个接口就可以显示相同的错误

import { Component, OnInit, OnChanges, Input } from '@angular/core';
import { ImageService } from '../image/shared/image.service';

@Component({
  selector: 'app-gallery',
  templateUrl: './gallery.component.html',
  styleUrls: ['./gallery.component.css']
})


export class GalleryComponent implements OnInit, OnChanges {
visibleImages: any[] = [];

 constructor(private imageService: ImageService) {
  this.visibleImages = this.imageService.getImages();
 }

 ngOnInit() {}

 OnChanges(){}

}
Run Code Online (Sandbox Code Playgroud)

如果有人能提前注意到我所缺少的,我将非常感谢

oop implements angular

3
推荐指数
1
解决办法
8582
查看次数

Java API 中“实现”和“所有实现的接口”之间的区别

Java-API 告诉我特定类实现了哪些接口。但有两种不同类型的信息,我不太确定这意味着什么。例如,对于“TreeSet”类:https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/TreeSet.html有以下信息:

All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, NavigableSet<E>,     Set<E>, SortedSet<E> 
Run Code Online (Sandbox Code Playgroud)

并且:

public class TreeSet<E>
extends AbstractSet<E>
implements NavigableSet<E>, Cloneable, Serializable
Run Code Online (Sandbox Code Playgroud)

现在,“实现”下列出的接口比“所有实现的接口”下列出的接口少。这意味着什么?

更进一步:假设我想绘制一个 UML 图,它指定 Treeset 与 Set 和 Collection 之间的关系。我假设 Treeset 实现了 Set 和 Collection (因为 API 是这么说的,但它没有列在实现下,这让我有点困惑......?)。但同时 Set 也是 Collection 的子接口。那么,绘制一个箭头来指示两个接口之间的关系就足够了,而不是用一个箭头来指示 TreeSet 实现 Set(但没有指向 Collection 的箭头),还是我需要绘制一个箭头来指示 TreeSet 也实现 Collection 呢?

对不起我的英语不好。我希望我能让我的问题被理解。

java uml interface implements

3
推荐指数
1
解决办法
334
查看次数

在 VBA 中实现接口时,实现的功能需要是私有的还是公共的?

我正在阅读这里创建类工厂:https : //rubberduckvba.wordpress.com/2018/04/24/factories-parameterized-object-initialization/我很困惑为什么他们将实现的函数设为私有,不会我们希望它们是公开的,以便我们可以访问它们?

VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
END
Attribute VB_Name = "Something"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Private Type TSomething
    Bar As Long
    Ducky As String
End Type

Private this As TSomething
Implements ISomething

Public Function Create(ByVal initialBar As Long, ByVal initialDucky As String) As ISomething
    With New Something
        .Bar = initialBar
        .Ducky = initialDucky
        Set Create = .Self
    End With …
Run Code Online (Sandbox Code Playgroud)

oop excel vba interface implements

3
推荐指数
1
解决办法
253
查看次数

标签 统计

implements ×10

interface ×7

java ×5

extends ×3

oop ×3

object ×2

.net ×1

angular ×1

autoload ×1

class ×1

delegates ×1

excel ×1

ios ×1

php ×1

subclass ×1

swift ×1

uml ×1

vb.net ×1

vba ×1