Questions tagged «inheritance»

继承是面向对象编程中的系统,该系统允许对象支持由先前类型定义的操作,而不必提供自己的定义。它是面向对象编程中多态性的主要载体。

9
有没有办法从持有类名的字符串中实例化对象?
我有一个文件:Base.h class Base; class DerivedA : public Base; class DerivedB : public Base; /*etc...*/ 和另一个文件:BaseFactory.h #include "Base.h" class BaseFactory { public: BaseFactory(const string &sClassName){msClassName = sClassName;}; Base * Create() { if(msClassName == "DerivedA") { return new DerivedA(); } else if(msClassName == "DerivedB") { return new DerivedB(); } else if(/*etc...*/) { …

14
Java是否继承了静态方法?
我正在阅读Khalid Mughal 撰写的Java™SCJP认证程序员指南。 在“继承”一章中,它说明了 成员的继承与声明的可访问性紧密相关。如果通过子类中的简单名称可以访问超类成员(不使用任何其他语法,例如super),则该成员被视为继承的 它还提到静态方法不是继承的。但是下面的代码完全可以: class A { public static void display() { System.out.println("Inside static method of superclass"); } } class B extends A { public void show() { // This works - accessing display() by its simple name - // meaning it is inherited according to the book. …
141 java  inheritance  static 


6
私有纯虚函数的意义是什么?
我在头文件中遇到以下代码: class Engine { public: void SetState( int var, bool val ); { SetStateBool( int var, bool val ); } void SetState( int var, int val ); { SetStateInt( int var, int val ); } private: virtual void SetStateBool(int var, bool val ) = 0; virtual void SetStateInt(int var, int …



10
将List <SubClass>强制转换为List <BaseClass>的最有效方法
我有一个List&lt;SubClass&gt;我想当作一个List&lt;BaseClass&gt;。因为将a强制转换SubClass为a 似乎很BaseClass容易,但这似乎不成问题,但是我的编译器抱怨说强制转换是不可能的。 那么,获得与相同对象的引用的最佳方法是List&lt;BaseClass&gt;什么? 现在,我只是制作一个新列表并复制旧列表: List&lt;BaseClass&gt; convertedList = new ArrayList&lt;BaseClass&gt;(listOfSubClass) 但是据我了解,必须创建一个全新的列表。如果可能的话,我想参考原始清单!


4
在C#中,一个类可以从另一个类和一个接口继承吗?
我想知道一个类是否可以从一个类和一个接口继承。下面的示例代码不起作用,但我认为它传达了我想做的事情。之所以要这样做,是因为在我公司我们制造USB,串行,以太网等设备。我正在尝试开发一个通用组件/接口,我可以使用它为所有设备编写程序,以帮助使所有应用程序的通用特性(例如连接,断开连接,获取固件)保持一致。 要添加到这个问题:如果GenericDevice在另一个项目中,我可以将IOurDevices接口放在该项目中,然后如果我添加对第一个项目的引用,则使USBDevice类实现该接口吗?因为只想引用一个项目,然后根据设备是什么实现不同的接口。 class GenericDevice { private string _connectionState; public connectionState { get{return _connectionState; } set{ _connectionState = value;} } } interface IOurDevices { void connectToDevice(); void DisconnectDevice(); void GetFirmwareVersion(); } class USBDevice : IOurDevices : GenericDevice { //here I would define the methods in the interface //like this... void connectToDevice() …




11
Swift语言中的抽象函数
我想用快速语言创建一个抽象函数。可能吗? class BaseClass { func abstractFunction() { // How do I force this function to be overridden? } } class SubClass : BaseClass { override func abstractFunction() { // Override } }

7
红宝石继承vs mixins
在Ruby中,由于您可以包含多个mixin但只能扩展一个类,因此似乎mixins比继承更受青睐。 我的问题:如果您要编写必须扩展/包含的代码才能有用,那么为什么要将它设为类?或换种说法,为什么不总是将其设为模块? 我只能想到您想要一门课的一个原因,那就是是否需要实例化该课。但是,对于ActiveRecord :: Base,您永远不会直接实例化它。那么,它不应该是一个模块吗?


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.