我正在C#中做作业,我在其中实现了Account的抽象类,然后我从表中导出了两个类,名为Saving Accounts and Checking Account并覆盖派生类中的一些方法。现在我的问题陈述说了
仅通过帐户
的引用实例化SavingAccount和CheckingAccount现在我无法编写此代码,因为我知道简单的对象创建但我不知道如何通过对象的引用来创建对象。请告诉我一些语法。感谢名单
答案 0 :(得分:5)
这个想法是标识符可以是基本类型:
SomeBaseType identifier;
但是当你实例化它(或新建一个实例)时,你可以使用任何派生类型
e.g。
Account account = new SavingsAccount();
编辑我想补充一点,这就是OOP的用武之地(阅读:“变得非常有趣!”)。现在,您可以设计interface
或合同(例如使用Account
类) - 并对一个设计进行编程。但您可能使用了实际的不同帐户类型。根据我提供的示例,account
将继续看起来像Account
。 SavingsAccount
中的任何“新”方法或功能都无法立即通过您的account
变量访问代码。但那没关系!您不希望自己的代码专门针对SavingsAccount
(在大多数情况下),您希望设计一个灵活的Account
,它可以代表任何Account
的基本和常见功能
答案 1 :(得分:0)
如果您想从已有的帐户实例创建SavingAccount或CheckingAccount,则可以将其as
其中一个帐户强制转换。像这样 -
int _accountID = 356;
Account _account = new SavingsAccount(_accountID);
// now to create a SavingAccount or CheckingAccount from _account
SavingAccount _savingAccount = _account as SavingAccount;