Questions tagged «subclass»

子类是从父(或超级)类派生或继承的类。子类在面向对象编程(OOP)中得到广泛使用。

5
如何检查类型是子类型还是对象的类型?
要检查一个类型是否是C#中另一个类型的子类,很简单: typeof (SubClass).IsSubclassOf(typeof (BaseClass)); // returns true 但是,这将失败: typeof (BaseClass).IsSubclassOf(typeof (BaseClass)); // returns false 有没有办法在不使用OR运算符或扩展方法的情况下检查类型是否是基类本身的子类或基类?
335 c#  reflection  types  subclass 


16
您如何在Java中找到给定类的所有子类?
如何在Java中查找给定类的所有子类(或给定接口的所有实现者)?到目前为止,我有一种方法可以执行此操作,但是我发现它效率很低(至少可以这样说)。方法是: 获取类路径上存在的所有类名称的列表 加载每个类并测试以查看它是否是所需类或接口的子类或实现者 在Eclipse中,有一个很好的功能,称为类型层次结构(Type Hierarchy),可以很有效地显示这一点。如何进行编程?

9
如何(在运行时)检查一个类是否是另一个类的子类?
假设我有一个西服类和西服的四个子类:Heart,Spade,Diamond,Club。 class Suit: ... class Heart(Suit): ... class Spade(Suit): ... class Diamond(Suit): ... class Club(Suit): ... 我有一个方法,该方法接收西装作为参数,这是一个类对象,而不是实例。更准确地说,它可能仅接收以下四个值之一:Heart,Spade,Diamond,Club。我该如何做出保证这种事情的断言?就像是: def my_method(suit): assert(suit subclass of Suit) ... 我正在使用Python 3。
195 python  subclass  assert 

2
测试Ruby类是否是另一个类的子类
我想测试一个类是否从另一个类继承,但是似乎不存在用于该类的方法。 class A end class B < A end B.is_a? A => false B.superclass == A => true 我想要的一个简单实现是: class Class def is_subclass_of?(clazz) return true if superclass == clazz return false if self == Object superclass.is_subclass_of?(clazz) end end 但我希望这已经存在。


9
为什么不自动调用超类__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'




6
将圆角添加到所有UIImageViews
我想在我的项目中的所有UIImageViews中添加一些圆角。我已经使代码工作了,但是必须将其应用于每个图像。我应该继承UIImageView来添加它吗?如果是这样,有人可以给我一些如何做的指示吗? 这是代码 - (void)viewDidLoad { [super viewDidLoad]; NSString *mainpath = [[NSBundle mainBundle] bundlePath]; welcomeImageView.image = [UIImage imageWithContentsOfFile:[mainpath stringByAppendingString:@"/test.png"]]; welcomeImageView.layer.cornerRadius = 9.0; welcomeImageView.layer.masksToBounds = YES; welcomeImageView.layer.borderColor = [UIColor blackColor].CGColor; welcomeImageView.layer.borderWidth = 3.0; CGRect frame = welcomeImageView.frame; frame.size.width = 100; frame.size.height = 100; welcomeImageView.frame = frame; }

12
从超类中获取子类的名称
假设我有一个名为的基类Entity。在该类中,我有一个静态方法来检索类名称: class Entity { public static String getClass() { return Entity.class.getClass(); } } 现在,我有另一个班级对此进行扩展。 class User extends Entity { } 我想获取User的类名称: System.out.println(User.getClass()); 我的目标是看到“ com.packagename.User”输出到控制台,但是我将最终以“ com.packagename.Entity”结尾,因为直接从静态方法中引用了Entity类。 如果这不是静态方法,则可以通过使用类中的this关键字Entity(即:)轻松解决return this.class.getClass()。但是,我需要此方法来保持静态。有关如何处理此问题的任何建议?

5
子类中__slots__的继承实际上如何工作?
在插槽上的Python数据模型参考部分中,有关于使用的注释列表__slots__。我对第一项和第六项感到完全困惑,因为它们似乎相互矛盾。 第一项: 从没有的类继承时,该类 __slots__的__dict__属性将始终可访问,因此__slots__ 子类中的定义是没有意义的。 第六项: __slots__ 声明的动作仅限于定义它的类。结果,子类将具有一个,__dict__ 除非它们也定义__slots__ (该子类只能包含任何其他插槽的名称)。 在我看来,这些项目的措词可能更好,也可以通过代码显示,但我一直在努力解决这个问题,但仍然感到困惑。我不明白怎么__slots__都应该被使用,而我试图让他们的工作更好地把握。 问题: 有人可以用通俗易懂的语言向我解释子类继承时继承插槽的条件是什么? (简单的代码示例会有所帮助,但不是必需的。)

3
获取子类的重写函数
有没有办法在Python中获取子类的所有替代函数? 例: class A: def a1(self): pass def a2(self): pass class B(A): def a2(self): pass def b1(self): pass 在这里,我想获得一个列表["a2"]的类的对象B(或类对象本身),因为类B重写只有一个方法,即a2。

1
为什么在Python中进行子类化会使事情变慢呢?
我是工作在扩展的简单类dict,我意识到键查找和使用pickle都非常缓慢。 我认为这是我班上的一个问题,所以我做了一些琐碎的基准测试: (venv) marco@buzz:~/sources/python-frozendict/test$ python --version Python 3.9.0a0 (venv) marco@buzz:~/sources/python-frozendict/test$ sudo pyperf system tune --affinity 3 [sudo] password for marco: Tune the system configuration to run benchmarks Actions ======= CPU Frequency: Minimum frequency of CPU 3 set to the maximum frequency System state ============ CPU: use 1 logical CPUs: 3 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.