1

我正在用 C# 做作业,其中我正在实现 Account 的抽象类,然后我从 Account 派生了两个类,分别命名为 Saving Account 和 Checking Account,并覆盖了派生类中的一些方法。现在我的问题陈述说

仅通过 Account 的引用实例化 SavingAccount 和 CheckingAccount

现在我无法编写此代码,因为我知道简单的对象创建,但我不知道如何通过对象的引用来创建对象。请告诉我一些语法。谢谢

4

2 回答 2

5

这个想法是标识符可以是基本类型:

SomeBaseType identifier;

但是当你实例化它(或新建一个实例)时,你可以使用任何派生类型

例如

Account account = new SavingsAccount();

编辑我想补充一点,这就是 OOP 变得生动的地方(阅读:“变得非常有趣!”)。现在您可以设计一个interface或合同(例如与一个Account类) - 并针对一个设计进行编程。但是您可能实际使用了不同的帐户类型。使用我给出的示例,account将继续看起来像一个Account. 使用您的变量进行编码时,任何“新”方法或功能SavingsAccount都不会立即可见。account不过没关系!您不希望您的代码专门针对SavingsAccount(在大多数情况下)量身定制,而是希望设计一个灵活Account的,可以代表任何Account.

于 2012-04-18T22:45:01.920 回答
0

如果您想从已有的 Account 实例创建 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;
于 2012-04-18T22:52:36.187 回答