标签: abstract-class

Swift语言中的抽象类

有没有办法在Swift语言中创建一个抽象类,或者这是一个像Objective-C一样的限制?我想创建一个类似于Java定义为抽象类的抽象类.

inheritance abstract-class subclass swift

136
推荐指数
6
解决办法
8万
查看次数

Visual Studio:如何显示从基类继承的所有类?

在Visual Studio中,如何显示从基类继承的所有类?

例如,在ASP.NET MVC中有几种" ActionResult "类型 - 它们都继承自/实现基类ActionResult.

看起来除非你只是"知道" View并且Json是有效的ActionResult类型,否则你无法轻易找到这些信息.

请证明我错了.

对象浏览器中有什么东西可以让这个很容易找到吗?

我甚至想在Visual Studio之外寻找工具的建议来发现有关各种类的信息.例如:Resharper中有什么东西可以帮助我吗?

abstract-class class visual-studio

129
推荐指数
9
解决办法
7万
查看次数

为什么java.lang.Object不是抽象的?

可能重复:
Java:Object类的基本原理未被声明为abstract

为什么Object类是基于Java的基类,而不是抽象的?

我真的很长时间都有这个问题,这里纯粹是出于好奇而被问到这一点.我的代码或任何人的代码都没有破坏因为它不是抽象的,但我想知道为什么它们具体化了?

为什么有人想要这个Object类的"实例"(而不是它的存在,也就是引用)?一种情况是一个糟糕的同步代码,它使用一个Object的实例进行锁定(至少我用这种方式一次......我的坏).

是否有任何实际使用Object类的"实例"?它的实例化如何适合OOP?如果他们将其标记为抽象(当然在为其方法提供实现之后)会发生什么?

java oop abstract-class

127
推荐指数
7
解决办法
1万
查看次数

C#:抽象类需要实现接口吗?

我在C#中的测试代码:

namespace DSnA
{
    public abstract class Test : IComparable
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

导致以下编译器错误:

error CS0535: 'DSnA.Test' does not implement interface member
'System.IComparable.CompareTo(object)'
Run Code Online (Sandbox Code Playgroud)

由于该类Test是一个抽象类,为什么编译器要求它实现接口?这个要求不应该仅仅是具体课程的必修课吗?

c# syntax abstract-class interface

124
推荐指数
3
解决办法
5万
查看次数

接口与抽象类

在C#中,何时应该使用接口,何时应该使用抽象类?决定因素是什么?

c# inheritance abstract-class interface

120
推荐指数
4
解决办法
15万
查看次数

PHP抽象属性

有没有办法在PHP中定义抽象类属性?

abstract class Foo_Abstract {
    abstract public $tablename;
}

class Foo extends Foo_Abstract {
    //Foo must 'implement' $property
    public $tablename = 'users';   
}
Run Code Online (Sandbox Code Playgroud)

php oop abstract-class

120
推荐指数
7
解决办法
7万
查看次数

为什么实现接口的抽象类可能会错过接口方法之一的声明/实现?

当您使用抽象类来实现接口时,Java中会发生奇怪的事情:某些接口的方法可能完全丢失(即既不存在抽象声明也不存在实际实现),但编译器不会抱怨.

例如,给定接口:

public interface IAnything {
  void m1();
  void m2();
  void m3();
}
Run Code Online (Sandbox Code Playgroud)

以下抽象类在没有警告或错误的情况下快速编译:

public abstract class AbstractThing implements IAnything {
  public void m1() {}
  public void m3() {}
}
Run Code Online (Sandbox Code Playgroud)

你能解释一下原因吗?

java abstract-class interface

119
推荐指数
4
解决办法
12万
查看次数

Swift语言中的抽象函数

我想用快速语言创建一个抽象函数.可能吗?

class BaseClass {
    func abstractFunction() {
        // How do I force this function to be overridden?
    }
}

class SubClass : BaseClass {
    override func abstractFunction() {
        // Override
    }
}
Run Code Online (Sandbox Code Playgroud)

inheritance abstract-class swift

118
推荐指数
7
解决办法
5万
查看次数

Pimpl成语与Pure虚拟类接口

我想知道什么会让程序员选择Pimpl习语或纯虚拟类和继承.

我知道pimpl习惯用于为每个公共方法和对象创建开销提供一个明确的额外间接.

另一方面,Pure虚拟类带有继承实现的隐式间接(vtable),我理解没有对象创建开销.
编辑:但如果你从外面创建对象,你需要一个工厂

是什么让纯虚拟类比pimpl成语更不可取?

c++ abstract-class pimpl-idiom

117
推荐指数
8
解决办法
2万
查看次数

如何在ruby中实现抽象类?

我知道ruby中没有抽象类的概念.但是,如果它需要实施,那该怎么办呢?我试过像......

class A
  def self.new
    raise 'Doh! You are trying to write Java in Ruby!'
  end
end

class B < A
  ...
  ...
end
Run Code Online (Sandbox Code Playgroud)

但是当我尝试实例化B时,它会在内部调用A.new哪个会引发异常.

此外,模块无法实例化,但也无法继承.使新方法私有也行不通.有什么指针吗?

ruby abstract-class

113
推荐指数
9
解决办法
9万
查看次数