根据OOP,需要抽象类来模拟那些在现实世界中不存在的对象,但它们可以作为几个真实世界对象的基类.
例如:
BankAccount
/\
/ \
/ \
/ \
Current Savings
Account Account
Run Code Online (Sandbox Code Playgroud)
这里BankAccount应该被建模为抽象类.
但是在C#/ Java中使用抽象类的技术原因是什么?链接文字
例如:
使用Interfaces的OOP原因是对行为继承进行建模(继承没有真正的层次关系).
在C#/ Java中使用Interfaces的技术原因是为了解决多重继承的问题(如果我没有错!).
如果可能的话,抽象类可以有默认行为; 接口不能.
抽象类可以为所有方法或没有方法提供默认行为; 开发者的选择; 接口不能.
抽象类可以具有与所有子类共享的状态; 接口不指定状态.
因此,您的抽象BankAccount可以具有可以授予存储和检查访问权限的余额属性.
| 归档时间: |
|
| 查看次数: |
3458 次 |
| 最近记录: |