标签: subclass

如何检查类型是子类型还是对象类型?

要检查类型是否是C#中另一种类型的子类,很容易:

typeof (SubClass).IsSubclassOf(typeof (BaseClass)); // returns true
Run Code Online (Sandbox Code Playgroud)

但是,这将失败:

typeof (BaseClass).IsSubclassOf(typeof (BaseClass)); // returns false
Run Code Online (Sandbox Code Playgroud)

有没有办法检查类型是否是基类本身的子类OR,而不使用OR运算符或使用扩展方法?

c# reflection types subclass

322
推荐指数
3
解决办法
16万
查看次数

如何在Java中找到给定类的所有子类?

如何在Java中尝试查找给定类(或给定接口的所有实现者)的所有子类?截至目前,我有一种方法可以做到这一点,但我觉得效率很低(至少可以说).方法是:

  1. 获取类路径上存在的所有类名的列表
  2. 加载每个类并测试它是否是所需类或接口的子类或实现者

在Eclipse中,有一个很好的功能叫做类型层次结构,可以非常有效地显示它.如何以编程方式进行操作?

java interface class subclass

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

如何根据名称查找类的所有子类?

我需要一种工作方法来获取从Python中的基类继承的所有类.

python subclass

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

如何(在运行时)检查一个类是否是另一个类的子类?

假设我有一套西装和四个西装子类:Heart,Spade,Diamond,Club.

class Suit:
   ...
class Heart(Suit):
   ...
class Spade(Suit):
   ...
class Diamond(Suit):
   ...
class Club(Suit):
   ...
Run Code Online (Sandbox Code Playgroud)

我有一个接收套装作为参数的方法,它是一个类对象,而不是一个实例.更确切地说,它可能只收到四个值中的一个:Heart,Spade,Diamond,Club.我怎样才能做出确保这样的事情的断言?就像是:

def my_method(suit):
   assert(suit subclass of Suit)
   ...
Run Code Online (Sandbox Code Playgroud)

我正在使用Python 3.

python assert subclass

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

测试Ruby类是否是另一个类的子类

我想测试一个类是否继承自另一个类,但似乎没有一个方法.

class A
end

class B < A
end

B.is_a? A 
=> false

B.superclass == A
=> true
Run Code Online (Sandbox Code Playgroud)

我想要的一个微不足道的实现是:

class Class
  def is_subclass_of?(clazz)
    return true if superclass == clazz
    return false if self == Object
    superclass.is_subclass_of?(clazz)
  end
end
Run Code Online (Sandbox Code Playgroud)

但我希望这已经存在了.

ruby inheritance subclass superclass

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

你如何在Python中使用省略号切片语法?

这出现在 Python的隐藏功能中,但我看不到可以解释该功能如何工作的好文档或示例.

python numpy subclass ellipsis slice

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

为什么不自动调用超类__init__方法?

为什么Python设计者决定子类的__init__()方法不会__init__()像其他语言那样自动调用超类的方法?Pythonic和推荐的成语是否真的如下?

class Superclass(object):
    def __init__(self):
        print 'Do something'

class Subclass(Superclass):
    def __init__(self):
        super(Subclass, self).__init__()
        print 'Do something else'
Run Code Online (Sandbox Code Playgroud)

python inheritance delegation subclass superclass

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

Swift语言中的抽象类

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

inheritance abstract-class subclass swift

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

127
推荐指数
3
解决办法
8万
查看次数

什么时候需要显式调用超类构造函数?

所以说我有一个扩展超类的子类.在什么情况下我需要显式键入super()以运行超类构造函数?

我正在看一本关于抽象类的书中的例子,当他们用非抽象子类扩展它时,子类的默认构造函数是空白的,并且有一个注释表明将调用超类的默认构造函数.与此同时,我也看到过这里有人问题没有明确调用的情况super().

区别于从子类的默认/非默认构造函数调用超类的默认/非默认构造函数?

java constructor subclass superclass

95
推荐指数
2
解决办法
6万
查看次数