class Person { public int age; public Person() { age = 1; } } class Customer : Person { public Customer() { age += 1; } } Customer customer = new Customer(); 顾客的年龄是2岁? 好像基类的构造函数会被调用,不pipe是什么。 如果是这样的话,为什么我们有时候最后需要打电话给base呢? public Customer() : base() { …………. }
什么是命名基类的build议方法? 它是前缀types名称与“ 基本 ”或“ 摘要 ”,或者我们只是后缀与“基地”? 考虑以下: 键入: ViewModel例如MainViewModel , ReportViewModel 基类: BaseViewModel或ViewModelBase或AbstractViewModel 还要考虑: 键入: Product例如VirtualProduct , ExpiringProduct 基类: BaseProduct或ProductBase或AbstractProduct 你认为哪个更标准? class Entity : EntityBase { } 要么 class Entity : BaseEntity { }
我需要扩展Networkx python包,并为我的特殊需要添加一些Graph类的方法 我想这样做的方法是简化派生一个新的类NewGraph ,并添加所需的方法。 然而networkx中还有其他一些函数可以创build和返回Graph对象(例如生成一个随机图)。 我现在需要将这些Graph对象变成NewGraph对象,以便我可以使用我的新方法。 这样做的最好方法是什么? 还是应该以完全不同的方式来解决问题呢?
是否有可能分配一个基类对象的派生类引用与明确的types转换在C#中? 我试过了,它创build了一个运行时错误。
什么时候应该使用接口,何时应该使用基类? 如果我不想实际定义方法的基本实现,它应该总是一个接口吗? 如果我有一个狗和猫课。 为什么要实现IPet而不是PetBase? 我可以理解为ISheds或IBarks(IMakesNoise?)的接口,因为这些可以放在一个宠物的宠物的基础上,但我不明白哪个用于通用的宠物。